반응형
#문제
#문제후기
// 입력된 수가 짝수라면 2 로 나눕니다.
// 입력된 수가 홀수라면 3 을 곱하고 1 을 더합니다.
// 결과로 나온 수에 같은 작업을 1 이 될 때까지 반복합니다.
//몇번돌리면 1이나 -1이 나올까네...
//num는 반복되는 횟수
function solution(num) {
var answer = 0;
//500번 반복시킬때 까지 라고 해서 500인거임
for(i=0;i<500;i++){
//그 이외의 수는 1이 아닐때다.
if (num !== 1) {
//여기에 홀수 짝수를 뽑아내야된다.
//여기서 ? 는 반복문으로 a라는 논제에 값을 내는데 앞에잇는게 true 뒤가 fluse로 나오니
//앞은 짝수 일때 뒤는 홀수 일때를 뽑아낸다.
num = num % 2 == 0? num / 2 : num * 3 + 1
} else {
//반복횟수가 1이면 그냥 i를 내보내면 된다.
return answer = i
}
}
return answer = -1; //500번을 햇지만 return값이 없는경우
}
console.log(solution(6,8))
#문제 해설
솔직히 너무 어려웟던 문제였다.
생각을 많이 해야햇던건데 솔직히 if문에 ?문을 쓸줄은 모르고 도전햇지만 장렬히 전사한 문제가 아닌가..
답안을 봐야 아 저렇게 푸는거구나라는걸 알게된 문제... 몇번을 돌려야하는지 어떤곳에서 리턴을 시켜야하는지
콘솔을 계속찍어보면서 풀어야되는 문제..
반응형
'알고리즘풀어보기' 카테고리의 다른 글
백준에서의 알고리즘... (1) | 2024.04.03 |
---|---|
하샤드 수 (0) | 2023.02.03 |
정수 제곱근 판별 (0) | 2023.02.03 |
정수 내림차순으로 배치하기 (0) | 2023.02.02 |
제일 작은 수 제거하기 (0) | 2023.01.31 |