๊ธฐ๋ก๋ฐฉ

Lv.2 : ์ˆซ์ž์˜ ํ‘œํ˜„ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : ์ˆซ์ž์˜ ํ‘œํ˜„

Soom_1n 2023. 9. 7. 08:53

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

 

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

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

programmers.co.kr



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

  • ์ž์—ฐ์ˆ˜ n์ด ์ž…๋ ฅ๋œ๋‹ค.
  • ์—ฐ์†๋œ ์ž์—ฐ์ˆ˜๋“ค์˜ ํ•ฉ์œผ๋กœ n์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • ์—ฐ์†๋œ ์ž์—ฐ์ˆ˜๋“ค์˜ ์ฒซ ๊ฐ’์„ 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋Š˜๋ ค๊ฐ„๋‹ค.
  • ์—ฐ์†์œผ๋กœ ์ž์—ฐ์ˆ˜๋“ค์„ ๋”ํ•ด๊ฐ€๋ฉฐ n์ด ๋˜๋ฉด ์นด์šดํŠธ๋ฅผ ๋Š˜๋ฆฌ๊ณ , n์„ ๋„˜์œผ๋ฉด ๋”ํ•˜๊ธฐ๋ฅผ ๋ฉˆ์ถ”๊ณ  ๋‹ค์Œ ์ฒซ ๊ฐ’๋ถ€ํ„ฐ ๊ณ„์‚ฐํ•œ๋‹ค.

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

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i = 1; i <= n; i++) {
            int sum = 0;
            for(int j = i; j <= n; j++) {
                sum += j;
                if(sum == n) answer++;
                else if(sum > n) break;
            }
        }
        
        return answer;
    }
}

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

  • ์ฒซ ๋ฒˆ์งธ for๋ฌธ์—์„œ ์—ฐ์†๋œ ์ž์—ฐ์ˆ˜์˜ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์„ ์ง€์ •ํ•œ๋‹ค (1~n)
  • ๋‘ ๋ฒˆ์งธ for๋ฌธ์—์„œ ์—ฐ์†๋œ ์ž์—ฐ์ˆ˜๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค.
    • n๊ณผ ์ผ์น˜ํ•˜๊ฒŒ ๋˜๋ฉด answer๋ฅผ +1ํ•œ๋‹ค.
    • n์„ ๋„˜๊ฒŒ๋˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ค๊ณ  ๋‹ค์Œ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
  • answer๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ํ’€์ด ์ž์ฒด๋Š” ๋ฌธ์ œ ๋‚ด์šฉ์„ ๊ตฌํ˜„ํ•˜๋Š” ์ •๋„๋กœ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€์ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • ์Šต๊ด€์ ์œผ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋„ ๊ตฌ๊ฒฝํ–ˆ๋Š”๋ฐ ์ƒ๊ฐ์ง€๋„ ๋ชปํ•œ ํ’€์ด๊ฐ€ ์žˆ์—ˆ๋‹ค.
    • "ํ•œ ์ž์—ฐ์ˆ˜๋ฅผ ์—ฐ์†๋œ ์ž์—ฐ์ˆ˜๋“ค์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋Š” ์ž์—ฐ์ˆ˜์˜ ํ™€์ˆ˜ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๊ฐ™๋‹ค" ๋ผ๋Š” ์ˆ˜ํ•™์ •๋ฆฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

728x90