๊ธฐ๋ก๋ฐฉ

Lv.1 : ์‚ผ์ด์‚ฌ ๋ณธ๋ฌธ

CodingTest/Java

Lv.1 : ์‚ผ์ด์‚ฌ

Soom_1n 2023. 4. 10. 15:48

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

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

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

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • a๊ฐœ์˜ ์ฝœ๋ผ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋ฉด b๊ฐœ๋ฅผ ์ฃผ๋Š” ๊ฐ€๊ฒŒ์— n๊ฐœ์˜ ์ฝœ๋ผ๋ฅผ ๊ฐ€์ ธ๊ฐ”์„๋•Œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ฝœ๋ผ์˜ ์ดํ•ฉ์„ ๋ฆฌํ„ดํ•œ๋‹ค.
  • ๋ฐ›๋Š” ์ฝœ๋ผ๋Š” n/a*b ์ด๊ณ , n%a ๊ฐ’์„ ๋”ฐ๋กœ ๋”ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

class Solution {
    public int solution(int a, int b, int n) {
        int answer = 0;
        while(n >= a) {
            int temp = n % a;
            n = n/a * b;
            answer += n;
            n += temp;
        }
        return answer;
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • n์ด a๋กœ ๋‚˜๋‰  ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
    • ๋‚˜๋จธ์ง€๋ฅผ temp๋ณ€์ˆ˜์— ์ €์žฅํ•ด๋‘”๋‹ค.
    • n/a * b ๊ฐ’์„ ์ •๋‹ต๋ณ€์ˆ˜ answer์— ๋ˆ„์ ํ•œ๋‹ค.
    • n์— ๋‚˜๋จธ์ง€ ๊ฐ’ temp๋ฅผ ๋”ํ•˜๊ณ  ๊ณ„์‚ฐ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
  • ๊ณ„์‚ฐ์ด ์™„๋ฃŒ๋œ ํ›„ answer์„ ๋ฆฌํ„ดํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๋ฌธ์ œ ์ œ์‹œ๋œ ์กฐ๊ฑด์„ ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธฐ๋Š”๊ฑด ์–ด๋ ต์ง€ ์•Š์•˜๋‹ค.
  • while ์กฐ๊ฑด์œผ๋กœ 1์ด๋‚˜ b๋ฅผ ๋‘ฌ์•ผ๋˜๋‚˜ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์กฐ๊ฑด์„ ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ฝœ๋ผ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์•ผ ํ•˜๋ฏ€๋กœ n์ด a์ด์ƒ์ผ๋•Œ ๋ฐ˜๋ณตํ•ด์•ผ ํ•œ๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Lv.1 : ํ–„๋ฒ„๊ฑฐ ๋งŒ๋“ค๊ธฐ  (0) 2023.04.10
Lv.1 : ์˜น์•Œ์ด (2)  (0) 2023.04.10
Lv.1 : ์‚ผ์ด์‚ฌ  (0) 2023.04.10
Lv.1 : ์ˆซ์ž ์ง๊ฟ  (0) 2023.04.10
BOJ_17143 : ๋‚š์‹œ์™•  (0) 2023.04.07