본문 바로가기

전체 글121

[백준 2110번] 공유기 설치 문제 풀이 (with Python) 이분 탐색을 이용하면 간단하게 풀린다. 거리를 이분 탐색의 변수로 놓는다는 생각이 새로운 문제였다. 공유기는 같은 집에 있을 수 없으므로, start = 1, end = 가장 먼 집의 거리로 놓고, 가운데를 mid로 놓아 mid 거리만큼에 공유기를 설치했을 때 설치되는 공유기의 개수와 C를 비교해서 start나 end의 크기를 바꾸어 주었다. import sys input = sys.stdin.readline arr = [] N, C = map(int, input().split()) for i in range(N): arr.append(int(input())) arr.sort() start = 1 # 두 공유기 사이의 거리 최소값 end = arr[-1.. 2023. 11. 10.
[백준 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.
[백준 10026번] 적록색약 문제 풀이 (with Python) 방문하지 않은 구역의 인덱스인 경우, 큐에 넣어준다. 큐의 상하좌우를 순서대로 들러, 방문 하지 않은 구역이면서, 해당 배열의 값과 같은 값인 경우, 큐에 새로운 값을 넣어주고, 해당 배열의 방문 여부를 True로 바꿔준다. N * N 배열을 순서대로 dfs를 돌려, 개수를 세어 출력한다. from collections import deque def dfs(x, y): q.append((x, y)) checked[x][y] = True while q: x, y = q.popleft() checked[x][y] = True for i in range(4): new_x = x + dx[i] new_y = y + dy[i] if 0 2023. 11. 6.
[백준 19237번] 어른 상어 문제 풀이 (1) 배열에 상어 번호와 냄새가 남은 시간을 저장 - arr 배열 다음과 같이 초기 배열이 정해지면 아래처럼 배열에 [상어 번호, 냄새가 남은 시간] 으로 저장한다. [ [[0, 0], [0, 0], [0, 0], [0, 0], [3, 4]], [[0, 0], [2, 4], [0, 0], [0, 0], [0, 0]], [[1, 4], [0, 0], [0, 0], [0, 0], [4, 4]], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] ] (2) 각 상어의 현재 위치 저장 - location 배열 [[], [2, 0], [1, 1], [0, 4], [2, 4]].. 2023. 11. 6.