Python으로 구현한 6679번 싱기한 네자리 숫자 문제 풀이입니다.
https://www.acmicpc.net/problem/6679
for i in range(2992, 10000) :
data = i
sixteen = 0
while data != 0 :
sixteen += data % 16
data //= 16
data = i
twelve = 0
while data != 0 :
twelve += data % 12
data //= 12
data = i
ten = 0
while data != 0 :
ten += data % 10
data //= 10
if sixteen == twelve == ten :
print(i)
1. 싱기한 네자리 숫자의 첫 번째 수는 2992이기 때문에 반복문의 시작 값은 2992로 설정한다.
2. data에 i를 담고 sixteen을 초기화하여 while문을 통해 data가 0이 될 때까지 16으로 나눈 나머지 값을 sixteen에 누적한다.
3. data에 i를 담고 twelve를 초기화하여 while문을 통해 data가 0이 될 때까지 16으로 나눈 나머지 값을 twelve에 누적한다.
4. data에 i를 담고 ten을 초기화하여 while문을 통해 data가 0이 될 때까지 10으로 나눈 나머지 값을 ten에 누적한다.
5. 최종적으로 조건문을 통해 sixteen, twelve, ten의 값이 모두 일치할 경우 i를 출력한다.
'백준(Python) 풀이 > 구현' 카테고리의 다른 글
백준(Python) 1264번 모음의 개수 풀이 (0) | 2021.11.29 |
---|---|
백준(Python) 10813번 공 바꾸기 풀이 (0) | 2021.11.29 |
백준(Python) 11098번 첼시를 도와줘! 풀이 (0) | 2021.11.29 |
백준(Python) 13752번 히스토그램 풀이 (0) | 2021.11.24 |
백준(Python) 11945번 뜨거운 붕어빵 풀이 (0) | 2021.11.24 |