본문 바로가기
반응형

전체 글87

BFS_미로탈출 이코테 from collections import deque n, m = map(int, input().split()) # 2차원 리스트의 맵 정보 입력받기 graph = [] for i in range(n): graph.append(list(map(int, input()))) # 이동할 네 방향 정의(상,하,좌,우) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] # BFS 소스코드 구현 def bfs(x, y): # 큐 구현을 위해 deque 라이브러리 사용 queue = deque() queue.append((x, y)) # 큐가 빌 때까지 반복 while queue: x, y = queue.popleft() # 현재 위치에서 네 방향으로의 위치 확인 for i in range(4): .. 2022. 12. 27.
DFS_ 음료수 얼려 먹기 이코테 n, m = map(int, input().split()) # 2차원 리스트의 맵 정보 입력받기 graph = [] for i in range(n): graph.append(list(map(int, input()))) # DFS 깊이 우선 탐색을 통해 특정한 노드를 방문한 뒤에 연결된 모든 노드들도 방문 def dfs(x, y): # dfs 함수 정의 # 주어진 범위를 벗어나는 경우에는 즉시종료 if x = n or y = m: return False # 현재 노드를 아직 방문하지 않았다면 if graph[x][y] == 0: # 해당 노드를 방문 처리 graph[x][y] = 1 # 상,하,좌,우의 위치도 모두 재귀적으로 호출 dfs(x - 1, y) # 상 dfs(x, y - 1) # 좌 dfs(x .. 2022. 12. 27.
그리디 알고리즘_ 모험가 길드 이코테 N = int(input()) S = list(map(int, input().split())) S.sort() result = 0 # 총 그룹의 수 count = 0 # 현재 그룹에 포함된 모험가 수 for i in S: count += 1 # 현재 그룹에 해당 모험가를 포함 if count >= i: # 현재 그룹에 포함된 모험가의 수가 현재 공포도 이상이면 그룹 결성 result += 1 # 그룹 수 증가 count = 0 # 모험가의 수 초기화 print(result) 2022. 12. 27.
그리디 알고리즘_ 곱하기 혹은 더하기 문제 S = input() value = 0 for i in S: j = int(i) if j 2022. 12. 27.
그리디 알고리즘_이코테 1이 될 때까지 # N,K를 공백을 기준으로 구분하여 입력 받기 N, K = map(int, input().split()) count = 0 # N이 1이 될 때 까지 반복문 실행 while N != 1: # N이 K로 나누어 떨어지면 아래 조건문 실행 if N % K == 0: N = N // K count += 1 else: N = N - 1 count += 1 print(count) 2022. 12. 27.
그리디 알고리즘 그리디 알고리즘은 현재 상황에서 좋은 것만 고르는 방법을 의미. 거스름돈 1260원을 화폐 500,100,50,10원 으로 거슬러 줄 때 몇개의 동전이 필요한지 구하는 문제. n = 1260 count = 0 # 큰 단위의 화폐부터 차례대로 확인하기 array = [500, 100, 50, 10] for coin in array: count += n // coin # count에 n을 coin으로 나눈 몫을 저장 n %= coin # n에 n을 coin으로 나눈 나머지값을 저장 print(count) 2022. 12. 27.
반응형