๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Kotlin/Programmers Algorithm

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ฝ”ํ‹€๋ฆฐ] ์ฝœ๋ผ์ธ  ์ถ”์ธก #12943

by eun.24k 2023. 10. 24.

 

#12943

๐ŸŽ„ Question ?

https://school.programmers.co.kr/learn/courses/30/lessons/12943

class Solution {
    fun solution(num: Int): Int {
        var answer = 0
        return answer
    }
}

๐Ÿงฉ Thought Process

  1. ์ž…๋ ฅ๋œ ์ˆ˜๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด 2๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
  2. ์ž…๋ ฅ๋œ ์ˆ˜๊ฐ€ ํ™€์ˆ˜๋ผ๋ฉด 3์„ ๊ณฑํ•˜๊ณ  1์„ ๋”ํ•ฉ๋‹ˆ๋‹ค.
  3. 1๋ฒˆ and 2๋ฒˆ ๋ฌดํ•œ๋ฃจํ”„ (์„ธ๊ธฐ)
  4. until ์ž…๋ ฅ๋œ ์ˆ˜๊ฐ€ 1

 

๐ŸŽ€ Answer

class Solution {
    fun solution(num: Int): Int {
        var answer = 0
        var n = num
        while (n > 1) {
            if (n % 2 == 0) {
                n /= 2
                answer += 1
            } else {
                n = 3*n + 1
                answer +=1
            }
        }
        
        if (n != 1) {
            answer = -1
        }

        return answer
    }
}

 

๐ŸŽ Result

 

๐Ÿ† Comment

๋˜ ์ˆ ์ˆ  ํ’€๋ ธ๋‹ค. ์ด์ฏค๋˜๋‹ˆ ์ˆ ์ˆ  ํ’€๋ฆฌ๋Š”๋ฐ์— ์˜์˜๋ฅผ ๋‘๊ธฐ ๋ณด๋‹ค๋Š” ๋‹ค๋ฅธ ํ’€์ด๋ฅผ ๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•˜๋Š”๋ฐ์— ์˜์˜๋ฅผ ๋‘ฌ์•ผ ๊ฒ ๋‹ค. ์ˆ ์ˆ  ํ’€๋ ธ๋‹ค๋Š”๊ฑด ์•„๋ฌด๊ฒƒ๋„ ๋ฐฐ์šด๊ฒŒ ์—†๋‹ค๋Š” ์ ..