https://programmers.co.kr/learn/courses/30/lessons/12943
내가 푼 방법:
+6점 맞음
접근
이미 문제에서 콜라츠의 법칙을 설명해주었기때문에 그대로 실행하면 된다고 생각했다
if문을 통해 % 이용 짝수 홀수 나누고, 짝수면 /2 하고 count++, 홀수면 *3 +1 하고 count++
그리고 만족하는 값이 나올때까지 while(1) 로 무한 반복하기로 정함
풀이
2줄.
몇번을 실행했는지 count해줄 변수 선언 초기화
4줄.
만족하는 값이 나올때까지 무한 while(1)을 돌림
5줄.
입력값이 1이면 바로 count 값을 리턴
6줄~12줄.
그게 아니라면 위에 접근에서 본대로 짝수 홀수 나누고 조건문한번들어와 실행할때마다 count++ 해줌
15줄.
그렇게 돌다가 count가 500을 초과했는데도 n값이 1이 아니라면 -1 을 리턴해주고 종료시켜줌
'공부 > 알고리즘&자료구조' 카테고리의 다른 글
항해99 문제30번풀이 (최소직사각형,프로그래머스) (0) | 2021.11.11 |
---|---|
항해99 문제28번풀이 (하샤드 수,프로그래머스) (0) | 2021.11.11 |
항해99 문제33번풀이 (로또의 최고 순위와 최저 순위,프로그래머스) (0) | 2021.11.11 |
항해99 문제26번풀이 (제일 작은수 제거하기,프로그래머스) (0) | 2021.11.10 |
항해99 문제24번풀이 (정수 내림차순으로 배치하기,프로그래머스) (0) | 2021.11.10 |