[백준 2457번] 공주님의 정원 문제 풀이 (with Python)
날짜 비교를 편하게 하기 위해 날짜를 아래와 같이 정수로 나타내 주었다. calendar = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 각 달의 마지막 날짜 def calculateDate(x, y): date = 0 for i in range(x-1): date += calendar[i] date += y return date 각 꽃이 피고 지는 시기를 정수로 계산해 배열에 넣어 준후, 배열을 피는 시기로 먼저 오름차순 배열한 후, 지는 시기로 오름 차순 배열했다. blossom.sort(key=lambda x: (x[0], x[1])) TRY 1 - 이 전의 지는 시기보다 다음 꽃이 피는 시기가 작거나 같으면서, ..
2023. 11. 27.
[백준 1987번] 알파벳 문제 풀이 (with Python)
- 틀렸습니다. from collections import deque R, C = map(int,input().split()) arr =[] for i in range(R): arr.append(list(input())) passed = [] # 지나간 알파벳 목록 저장 dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] q = deque() def dfs(x,y, cnt): global result result = max(result, cnt) print(passed) q.append((x, y)) while(q): x, y = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0..
2023. 11. 8.
[백준 2668번] 숫자 고르기 문제 풀이 (with Python)
첫번째 줄 집합과 두번째 줄 집합을 만든다. arr을 두번째 줄이라 할때, 1번부터 N번까지 순서대로 돌며, arr[num]이 첫번째 줄 집합에 있는지 확인하여 있다면, 첫번째 줄 집합과 두번째 줄의 동등비교를 한다. 만약 두 집합이 동일하면 answer을 업데이트 해준다. 하지만, 동일하지 않다면, 첫번째 집합과 두번째 집합의 개수가 달라지므로 False를 통해 탐색을 중단한다. first= {1} second= {3} dfs first= {1, 3} second= {1, 3} True first= {2} second= {1} dfs first= {1, 2} second= {1, 3} dfs first= {1, 2, 3} second= ..
2023. 11. 7.