반응형
코드
def solution(num):
answer = 0
while num != 1:
if answer == 500:
return -1
if num%2 == 0:
num = num / 2
else:
num = num * 3 + 1
answer += 1
return answer
실행 결과
정확성 테스트
테스트 1 〉 | 통과 (0.08ms, 10.6MB) |
테스트 2 〉 | 통과 (0.09ms, 10.7MB) |
테스트 3 〉 | 통과 (0.09ms, 10.8MB) |
테스트 4 〉 | 통과 (0.07ms, 10.7MB) |
테스트 5 〉 | 통과 (0.16ms, 10.6MB) |
테스트 6 〉 | 통과 (0.07ms, 10.7MB) |
테스트 7 〉 | 통과 (0.17ms, 10.7MB) |
테스트 8 〉 | 통과 (0.07ms, 10.7MB) |
테스트 9 〉 | 통과 (0.06ms, 10.6MB) |
테스트 10 〉 | 통과 (0.16ms, 10.7MB) |
테스트 11 〉 | 통과 (0.20ms, 10.8MB) |
테스트 12 〉 | 통과 (0.07ms, 10.7MB) |
테스트 13 〉 | 통과 (0.04ms, 10.7MB) |
테스트 14 〉 | 통과 (0.10ms, 10.7MB) |
테스트 15 〉 | 통과 (0.10ms, 10.7MB) |
테스트 16 〉 | 통과 (0.07ms, 10.7MB) |
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
총평
우선 while 문으로 접근하였습니다. 그 다음, 500이 넘는 경우를 체크합니다. 500이 넘지 않는 경우, 주어진 알고리즘 대로 수행하도록 하였습니다. 주어진 결과에 큰 예외없이, 테스트를 잘 통과하여 문제를 해결하였습니다. 어렵지 않게 문제를 해결하였으나, 좀 더 간략한 방식이 있는 지에 대해 알아보아야 될 것 같습니다. 항상 조사를 하면, 내 코드보다 훨씬 깔끔하고 좋은 방식의 코드를 보게 되고, 꾸준히 간략하고 직관적인 코드들에 대해 배우게 되는 것 같아, 코딩 테스트 공부 역시 꾸준히 해야하는 필요성을 느끼게 되었습니다.
반응형
'SW > 알고리즘' 카테고리의 다른 글
파이썬 : 프로그래머스 : 타일 장식물 : 풀이 (0) | 2019.09.22 |
---|---|
파이썬 : 프로그래머스 : 2 x n 타일링 : 풀이 (0) | 2019.09.21 |
파이썬 : 프로그래머스 : 하샤드 수 : 풀이 (0) | 2019.09.19 |
파이썬 : 프로그래머스 : 평균 구하기 : 풀이 (0) | 2019.09.17 |
파이썬 : 프로그래머스 : 행렬의 덧셈 : 풀이 (0) | 2019.09.16 |