본문 바로가기

전체 글7

[그리디] 1이 될 때까지 책풀이 # N, K공백을 기준으로 구분하여 입력 받기 n, k = map(int, input().split()) result = 0 while True: # N이 K로 나누어 떨어지는 수가 될 때까지만 1씩 빼기 target = (n // k) * k result += (n - target) n = target # N이 K보다 작을 때 (더 이상 나눌 수 없을 때) 반복문 탈출 if n < k: break # K로 나누기 result += 1 n //= k # 마지막으로 남은 수에 대하여 1씩 빼기 result += (n - 1) print(result) 나의 풀이 n, k = map(int, input().split()) count = 0 while True: if n%k != 0: n -= 1 cou.. 2023. 1. 5.
[그리디] 숫자 카드 게임 책풀이 # N, M을 공백을 기준으로 구분하여 입력 받기 n, m = map(int, input().split()) result = 0 # 한 줄씩 입력 받아 확인하기 for i in range(n): data = list(map(int, input().split())) # 현재 줄에서 '가장 작은 수' 찾기 min_value = 10001 for a in data: min_value = min(min_value, a) # '가장 작은 수'들 중에서 가장 큰 수 찾기 result = max(result, min_value) print(result) # 최종 답안 출력 n,m = map(int, input().split()) result = 0 for i in range(n): data = list(map.. 2023. 1. 5.
[그리디] 큰 수의 법칙 책 풀이 N,M,K = map(int,input().split()) data = list(map(int,input().split())) data.sort() first = data[N-1] second = data[N-2] result = 0 while True: for i in range(K): if M == 0: break result += first M -= 1 if M == 0: break result += second M -=1 print(result) # N, M, K를 공백을 기준으로 구분하여 입력 받기 n, m, k = map(int, input().split()) # N개의 수를 공백을 기준으로 구분하여 입력 받기 data = list(map(int, input().split())) da.. 2023. 1. 4.