[구름톤 챌린지 - 9oormthon Challenge] Day 15 과일 구매 - Python 파이썬 풀이
구름톤 챌린지 15일차 - 과일 구매 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 그리디 알고리즘으로 풀 수 있는 이번 문제는 3주차에서 비교적 쉬운 문제였다. P(과일 가격), C(포만감)을 입력 받고, 각 과일의 조각마다 가지는 포만감을 value라고 정해 fruit 리스트에 한 번에 넣었다. 그리고 가격은 싸면서 포만감이 높아야하기 때문에 value를 기준으로 내림차순 정렬을 했다. N, K = map(int, input().split()) #N:과일의개수, K:가진돈 fruit=[] cnt = 0 for i in range(N) : P, C = map(int, input().split()) #P:각 과일의 가격, C:포만감 value = C // P fruit.append([P, C, value]) f..
[구름톤 챌린지 - 9oormthon Challenge] Day 13 발전기 2 - Python 파이썬 풀이
구름톤 챌린지 13일차 - 발전기 2 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 그림으로 조금 더 쉽게 접근해봤다. 가장 많은 단지를 보유한 건물의 유형을 찾아야 하기 때문에, 건물의 개수도 세주고 temp와 cnt를 비교해서 가장 많은 단지가 나온 건물 유형을 찾도록 했다. N, K = map(int, input().split()) town = [list(map(int, input().split())) for _ in range(N)] dy = [-1, 1, 0, 0] dx = [0, 0, -1, 1] def dfs(i, j): stack = [(i, j)] #건물의 유형을 미리 저장 building_type = town[i][j] cnt = 0 while stack: y, x = stack.pop() i..
[구름톤 챌린지 - 9oormthon Challenge] Day 9 폭탄 구현하기 2 - Python 파이썬 풀이
구름톤 챌린지 9일차 - 폭탄 구현하기 2 📜 문제 1번과 같은 그림에서 만약 (2, 2)에 폭탄이 떨어지면, 상하좌우를 탐색해야 한다. (3, 2)는 #이므로 아무것도 더하지 않는다. (2, 3)에 폭탄이 떨어지면, 상태가 '@'인 곳에는 2만큼 폭탄의 영향을 받는다. ✏️ 입력 ✏️ 출력 💡 풀이 문제에서 '상하좌우'를 보자마자 Graph 가 생각이 났다. 먼저 폭탄이 떨어지면 상하좌우로 영향을 받는다. 만약 (y, x)에 폭탄이 떨어지면 영향은 (y-1, x), (y, x-1), (y+1, x), (y, x+1)에 받는다. 좌표를 조금 더 쉽게 계산하기 위해 dx = [0, 1, -1, 0, 0] , dy = [0, 0, 0, 1, -1]로 하였다. #는 변화가 없고, '0'은 +1, '@'은 +2..
[구름톤 챌린지 - 9oormthon Challenge] Day 7 구름 찾기 깃발 - Python 파이썬 풀이
구름톤 챌린지 7일차 - 구름 찾기 깃발 📜 문제 ✏️ 입력 ✏️ 출력 💡 풀이 행렬 값이 0일때 인접한 8칸 중에서 구름이 K개 있는 칸의 개수를 구하는 문제이다. 모든 칸을 확인하면서 비어있는 경우에 개수를 세도록 하였다. n, k = map(int, input().split()) mat = [input().split() for i in range(n)] dy, dx = [-1, -1, -1, 0, 0, 1, 1, 1], [-1, 0, 1, -1, 1, -1, 0, 1] for i in range(n): for j in range(n): if mat[i][j] == '0': flag = 0 for a in range(8): y, x = i + dy[a], j + dx[a] if y ..