반응형 알고리즘/그리디30 [백준][Python] 1343번 폴리오미노 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 코드 x_list = list(input().split('.')) ans = [] err = 0 for i in range(len(x_list)): num = len(x_list[i]) if num > 0: if num % 2 == 0: while num != 0: if num >= 4: ans.append('AAAA') num -= 4 else: ans.append('BB') num -= 2 else: err = 1 break if i != len(x_list)-1: ans.append('.') if err == 1: print(-1) else: for i in .. 2022. 3. 24. [백준][Python] 14916번 거스름돈 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 코드 n = int(input()) ans = 0 while n != 0: if n%5 == 0: ans += n//5 break else: n -= 2 if n < 0: ans = -1 break ans += 1 print(ans) 설명 5는 2의 배수가 아니기 때문에 큰 수인 5로 먼저 거스르고 나머지를 2로 거스르는 방법은 사용할 수 없다. 그래서 일단 주어진 수가 5의 배수이면 나눈 값을 ans 변수에 더해줬고, 만약 5의 배수가 아니면 2를 빼주고 ans를 1 증가시켰다. 근데 2를 빼준 수가 음수가 되면 이것은 거슬러 줄 수 없는 상황이므로 -1을 출력하게 했다. 2022. 3. 23. 이전 1 ··· 5 6 7 8 다음 반응형