-
[백준] 2839번 문제 (설탕 배달) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 5. 20. 16:50
n = int(input()) c3 = 0 if n % 5 == 0: print(n // 5) else: while True: if n - 5 < 0 and n - 3 < 0: print(-1) break else: n -= 3 c3 += 1 if n % 5 == 0: print(c3 + (n // 5)) break
내가 작성한 코드
주어진 입력에 대하여 3, 5키로그램 봉지를 최대한 적게 사용하는 문제다.
처음에는 단순히 3과 5의 배수 내에서 해결하려 했으나 11같은 숫자에 대해서도 대응을 해야했다.
따라서 코드를 보자면 ...
우선 c3는 n에 대하여 3이 몇번 사용됐는지 알려주는 카운트 변수다.
4번째 줄의 n / 5의 나머지가 0이면 당연히 최소한의 봉지를 사용한 경우일 것이다.
그 외에 경우부터는 while문을 돌면서 n - 3을 하고 n - 3이 5로 나눠지면 그때 나눠진 수를 구한다.
계속 n - 3을 하면서 5로 안 나눠지고 n - 5가 0보다 작고 n - 3가 0 보다 작은 경우에는 구해지지 않는 수가 될 것이다.
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 11653번 문제 (소인수분해) 파이썬(Python) 풀이 (0) 2021.05.22 [백준] 1011번 문제 (Fly me to the Alpha Centauri) 파이썬(Python) 풀이 (0) 2021.05.21 [백준] 1193번 문제 (분수찾기) 파이썬(Python) 풀이 (0) 2021.05.18 [백준] 2292번 문제 (벌집) 파이썬(Python) 풀이 (0) 2021.05.18 [백준] 1316번 문제 (그룹 단어 체커) 파이썬(Python) 풀이 (0) 2021.05.16