Hamutaro - Hamtaro 4

Algorithm/Programmers

[LV1/JAVA] 3์ง„๋ฒ• ๋’ค์ง‘๊ธฐ

carsumin 2024. 9. 30. 10:13

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. n์„ 3์ง„๋ฒ• ์ƒ์—์„œ ์•ž๋’ค๋กœ ๋’ค์ง‘์€ ํ›„, ์ด๋ฅผ ๋‹ค์‹œ 10์ง„๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•œ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

์ง„๋ฒ•์— ๊ด€ํ•œ ๋ฌธ์ œ์ด๋‹ค. ๋ฐฉ๋ฒ•์„ ์•Œ๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

 

1. 3์ง„๋ฒ•์€ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜

2. n์„ 3์ง„๋ฒ• ์ƒ์—์„œ ๋’ค์ง‘์–ด์•ผํ•จ

3. 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ถ™์—ฌ์„œ ์ €์žฅํ•˜๋ฉด ๋’ค์ง‘์€ ๊ฒฐ๊ณผ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์Œ

4. ๋ฆฌํ„ดํ•  answer์—๋Š” 3์ง„๋ฒ• ๋ฌธ์ž์—ด์„ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‹ด๋Š”๋‹ค 

Integer.parseInt(str, 3) -> ์ด ํ‘œํ˜„์‹์„ ์•Œ๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ

 

    public int solution(int n) {
        int answer = 0;
        String str = "";
        while(n!=0){
            str += n%3; //๋ฌธ์ž์—ด์— ์•ž๋’ค๋ฐ˜์ „ ๊ฒฐ๊ณผ๊ฐ’
            n = n/3;
        }
        //str์„ 3์ง„์ˆ˜๋กœ ํ•ด์„ํ•˜์—ฌ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜
        answer = Integer.parseInt(str, 3);
        
        return answer;
    }
}