코드업 문제집 파이썬 if~else 1180 : 만능 휴지통
[문제]
민호는 발명을 되게 좋아하고, 컴퓨터 프로그램도 되게 좋아한다.
어느 날 민호는 컴퓨터를 사용하던 중 휴지통이 꽉 차서 불편을 느꼈다.
그래서 휴지통이 n만큼 차면 알아서 쓰레기를 압축해주는 휴지통을 만들려고 한다.
이 때 압축하는 알고리즘은 다음과 같다.
10의 자릿수와 1의 자릿수를 서로 바꾸고, 거기에 2를 곱한다.
예) 70일 경우 14가 된다.( 70 -> 07 -> 14 )
이 알고리즘은 때로는 부작용을 일으켜 휴지통의 내용이 더 많아 질지도 모른다.
만약 이 알고리즘의 심각한 부작용으로 수치가 100이 넘는다면 100의 자릿수는 무시된다.
[문제 해설(핵심)]
입력된 두 자리 수의 10의 자리와 1의 자리를 바꾼 뒤 2를 곱한다.
계산 결과가 100 이상이면 100의 자리는 버리고 마지막 두 자리만 남긴다.
그 후 압축된 양이
- 50 이하 → GOOD
- 50 초과 → OH MY GOD
을 출력하면 된다.
[문제 풀이]
10의 자리와 1의 자리를 각각 구한다. a,b
↓
자리를 바꾸고 2를 곱한다 result
↓
결과가 100 이상이라면 %100을 이용해 100의 자리를 버린다.
↓
결과를 출력하고, 50 이하인지 확인한다.
[사용된 개념 설명]
// : 나눈 몫을 구함
% : 나눈 나머지를 구함
n = int(input())
a = n // 10
b = n % 10
result = (b * 10 + a) * 2
if result >= 100:
result = result % 100
print(result)
if result <= 50:
print("GOOD")
else:
print("OH MY GOD")
[풀면서 헷갈렸던 부분]
처음에는 압축된 결과인 result만 출력하면 되는 줄 알고 계속 틀렸다.
그런데 문제를 다시 읽어보니 출력 조건이 두 개였다.
첫째 줄에는 압축한 결과를 출력하고,
둘째 줄에는 그 결과가 50 이하인지 확인해서 GOOD 또는 OH MY GOD을 추가로 출력해야 했다.
코딩 문제는 계산 방법만 맞는다고 끝이 아니라, 입력과 출력 조건을 정확하게 읽는 것도 중요하다는 걸 다시 느꼈다.
특히 CodeUp 문제는 풀이 자체는 간단해도 출력 형식을 놓쳐서 틀리는 경우가 있어서, 앞으로는 문제를 풀기 전에 출력 조건도 한 번 더 확인해야겠다.
'코딩공부 > 코드업 파이썬' 카테고리의 다른 글
| 코드업 문제집 파이썬 if~else 1173 : 30분전 (0) | 2026.09.02 |
|---|---|
| 코드업 문제집 파이썬 if ~else 1167 : 두 번째 수 (0) | 2026.08.29 |
| 코드업 문제집 파이썬 if ~else 1165 : 축구의 신 1 (0) | 2026.08.29 |
댓글