[알고리즘] DFS, BFS | 2667 단지번호 붙이기, 2606 바이러스
단지번호 붙이기 답: 더보기 BFS 풀이 from sys import stdin from collections import deque input = stdin.readline N = int(input()) graph = [] for _ in range(N): line = list(map(int, input().strip())) graph.append(line) # {위, 아래, 오른쪽, 왼쪽} 상하좌우 dx = [0, 0, 1, -1] #(0, 1) (0, -1) (1, 0) (-1, 0) dy = [1, -1, 0, 0] def bfs(graph, x, y): queue = deque() # 무엇으로 시작해야하나? x랑 y를 제공해주기 queue.append((x, y)) # 탐색 중 1인 부분은 0으..
2023. 10. 14.
[알고리즘] 백준 | 나머지, 바구니 뒤집기, 평균
1차원 배열 끝! 3052 나머지 답: 더보기 from sys import stdin input = stdin.readline answer = [] new = 0 for _ in range(10): number = int(input()) new = number % 42 answer.append(new) print(len(set(answer))) 문제 분석 및 해석 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 1 2 3 4 5 6 7 8 9 10 출력 10 ..
2023. 9. 7.
[알고리즘] 백준 | 공 바꾸기, 과제 안 내신 분..?
공 바꾸기 답: 더보기 from sys import stdin input = stdin.readline N, M = map(int, input().split()) bucket = [i for i in range(1, N+1)] for i in range(M): first, second = map(int, input().split()) first, second = first -1, second -1 bucket[first], bucket[second] = bucket[second], bucket[first] print(*bucket) 문제 분석 및 해석 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호 바구니에 공 1개씩, 바구니에 적혀있는 번호와 같은 번호 공을 바꿀 바구..
2023. 9. 6.