https://www.acmicpc.net/problem/28228코드import sysinput = sys.stdin.readlinen, m = map(int, input().split())parking_lot = [list(input()) for _ in range(n)]# 위쪽for c in range(m): r = 0 while r = 0 and parking_lot[r][c] != "o": parking_lot[r][c] = "-" r -= 1# 왼쪽for r in range(n): c = 0 while c = 0 and parking_lot[r][c] != "o": parking_lot[r][c] = "-" c -= 1an..
분류 전체보기
https://www.acmicpc.net/problem/1497코드n, m = map(int, input().split())guitars = []maximum_song = 0for _ in range(n): name, songs = input().split() binary = "" for song in songs: binary += "1" if song == "Y" else "0" guitars.append((name, int(binary, 2))) maximum_song |= int(binary, 2)answer = int(1e9)def bt(idx, guitar_cnt, song): global answer if idx == n or guitar_c..
https://leetcode.com/problems/word-subsets/description/코드from collections import defaultdictdef get_alphabet_dict(word): temp = defaultdict(int) for i in range(len(word)): temp[word[i]] += 1 return tempdef wordSubsets(words1, words2): alphabet_dict = dict() for w2 in words2: temp = get_alphabet_dict(w2) for k, v in temp.items(): if k not in alphabet..
https://www.acmicpc.net/problem/14267코드import sysinput = sys.stdin.readlinen, m = map(int, input().split())boss = [0]+list(map(int, input().split()))compliments = [0]*(n+1)for _ in range(m): i, w = map(int, input().split()) compliments[i] += wfor i in range(2, n+1): compliments[i] += compliments[boss[i]]print(*compliments[1:]) 해당 문제는 트리디피 알고리즘으로 풀 수 있는 문제에 속하긴 하지만, 문제의 조건이 쉬워서 DP만으로도 풀 ..
https://www.acmicpc.net/problem/1036 코드from collections import defaultdictn = int(input())nums = [input() for _ in range(n)]k = int(input())base36 = [str(x) for x in range(10)]+[chr(x) for x in range(65, 91)]def decimal_to_base36(num): if num == 0: return "0" result = "" while num != 0: result = base36[num % 36]+result num //= 36 return resultgap = defaultdict(in..