홍우진의 개발 일기장
[백준] 28702번: FizzBuzz / 파이썬 본문
728x90
반응형
문제 링크
https://www.acmicpc.net/problem/28702
풀이 코드
for i in range(3,0,-1): # 3, 2, 1 순서로 숫자가 들어간다.
a = input()
if a not in ['FizzBuzz','Fizz','Buzz']: # 입력값중에 Fizz, Buzz, FizzBuzz 가 없으면 (입력값이 숫자면)
dap = int(a)+i # 답 = 그 수 + 앞으로 남은 수
break
if dap % 15 == 0: # 3과 5의 배수
print('FizzBuzz')
elif dap % 3 == 0: # 3의 배수
print('Fizz')
elif dap % 5 == 0: # 5의 배수
print('Buzz')
else:
print(dap)
코드 해석
가장 중요한 포인트는
입력을 받으면 세개 중 하나 이상은 무조건 숫자가 나온다는것이다.
Fizz, Buzz, FizzBuzz 가 세개가 연속으로 나올 수는 없다.
이 점을 이용하여
받은 입력값에 있는 숫자가 몇 번째 순서로 입력된 값인지를 확인하여 입력 후에 나올 숫자 dap을 예측한다.
그 후 dap이 숫자, Fizz, Buzz, FizzBuzz 중 어떤 조건인지 파악하여 출력한다.
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1929번: 소수 구하기 / 파이썬 (0) | 2024.12.06 |
---|---|
[백준] 18110번: solved.ac / 파이썬 (0) | 2024.12.05 |
[백준] 11050번: 이항 계수 1 / 파이썬 (2) | 2024.12.03 |
[백준] 10989번: 수 정렬하기 3 / 파이썬 (0) | 2024.12.02 |
[백준] 15829번: Hashing / 파이썬 (0) | 2024.12.01 |
Comments