[백준/파이썬] 3943번 헤일스톤 수열 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 3943번 헤일스톤 수열
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
시작 수 n에 대해 콜라츠(헤일스톤) 수열을 만들고
수열에서의 최댓값을 출력하는 문제입니다.
코드
import sys; read = sys.stdin.readline
result = []
for T in range(int(read())):
n = int(read())
nums = [n]
while nums[-1] > 1:
if nums[-1] % 2 > 0: nums.append(nums[-1] * 3 + 1)
else: nums.append(nums[-1] // 2)
result.append(max(nums))
print('\n'.join(map(str, result)))
설명
수열을 끝까지 생성하면서 값을 저장하고, 각 테스트케이스마다 최댓값을 계산해 출력합니다.
댓글남기기