본문 바로가기

CT15

DFS/BFS - 음료수 얼려 먹기, 미로탈출 음료수 얼려먹기 def dfs(x, y): if x = n or y = m: return False if graph[x][y] == 0: graph[x][y] = 1 dfs(x-1, y) #True or False dfs(x, y-1) dfs(x+1, y) dfs(x, y+1) return True return False n, m = map(int, input().split()) graph = [] for i in range(n): graph.append(list(map(int, input()))) result = 0 for i in range(n): for j in range(m): if dfs(i, j) == True: result += 1 print(result) DFS를 재귀적으로 나타냈다. 기초.. 2024. 3. 7.
[Python] 소수 판별 방법, 에라토스테네스의 체 소수(Prime Number) : 1과 그 수 자신 이외의 자연수로는 나눌 수 없는 자연수  N이라는 수를 소수인지 판별하려면 소수의 정의에 따라 2부터 N-1까지의 수로 N을 나눠본다. 이 과정에서 어떤 수에 의해 나눠지지 않으면 N은 소수라는 것을 판별할 수 있다. # 방법1def is_primenumber(n) : if num   다른 방법으로는 약수의 대칭적 성질을 이용하는 것이다.16의 약수는 1, 2, 4, 8, 16 인데 4를 제외한 나머지 약수들은 서로 대칭적인 성질을 가진다.( 1x16 과 16x1 , 2x8과 8x2 )16이 2로 나누어 떨어진다는 것은 8로도 나누어 떨어진다는 것을 의미한다.찾고자하는 수의 중간 값을 찾아야하는데  제곱근 값으로 처리해서 구하면 된다. # .. 2023. 9. 7.
[Python] 백준 11866번 : 요세푸스 문제 0 파이썬 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net import sys from collections import deque N, K = map(int, sys.stdin.readline().rstrip().split()) deq = deque([i for i in range(1, N+1)]) result = [] while deq : for i in range(K-1) : deq.append(deq.popleft()) result.append(deq.popleft()) print('', sep='') import sys from .. 2023. 9. 6.
[Python] 백준 2164번 : 카드2 파이썬 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net import sys from collections import deque N = int(sys.stdin.readline()) queue = deque() for i in range(1, N+1): queue.appendleft(i) while len(queue) > 1: queue.pop() queue.appendleft(queue.pop()) print(queue[0]) 2023. 9. 6.