๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers lv-1

์‚ผ์ด์‚ฌ - Java [์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต]

by ๊ทคํ”ผํ‚ค 2022. 12. 13.

 

โค๏ธ Problem

๋”๋ณด๊ธฐ
  • ๋ฌธ์ œ
    ํ•œ๊ตญ์ค‘ํ•™๊ต์— ๋‹ค๋‹ˆ๋Š” ํ•™์ƒ๋“ค์€ ๊ฐ์ž ์ •์ˆ˜ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ•™๊ต ํ•™์ƒ 3๋ช…์˜ ์ •์ˆ˜ ๋ฒˆํ˜ธ๋ฅผ ๋”ํ–ˆ์„ ๋•Œ 0์ด ๋˜๋ฉด 3๋ช…์˜ ํ•™์ƒ์€ ์‚ผ์ด์‚ฌ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5๋ช…์˜ ํ•™์ƒ์ด ์žˆ๊ณ , ๊ฐ๊ฐ์˜ ์ •์ˆ˜ ๋ฒˆํ˜ธ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ -2, 3, 0, 2, -5์ผ ๋•Œ, ์ฒซ ๋ฒˆ์งธ, ์„ธ ๋ฒˆ์งธ, ๋„ค ๋ฒˆ์งธ ํ•™์ƒ์˜ ์ •์ˆ˜ ๋ฒˆํ˜ธ๋ฅผ ๋”ํ•˜๋ฉด 0์ด๋ฏ€๋กœ ์„ธ ํ•™์ƒ์€ ์‚ผ์ด์‚ฌ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋‘ ๋ฒˆ์งธ, ๋„ค ๋ฒˆ์งธ, ๋‹ค์„ฏ ๋ฒˆ์งธ ํ•™์ƒ์˜ ์ •์ˆ˜ ๋ฒˆํ˜ธ๋ฅผ ๋”ํ•ด๋„ 0์ด๋ฏ€๋กœ ์„ธ ํ•™์ƒ๋„ ์‚ผ์ด์‚ฌ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๊ฒฝ์šฐ ํ•œ๊ตญ์ค‘ํ•™๊ต์—์„œ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ผ์ด์‚ฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํ•œ๊ตญ์ค‘ํ•™๊ต ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด number๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ํ•™์ƒ๋“ค ์ค‘ ์‚ผ์ด์‚ฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”.

  • ์ œํ•œ ์‚ฌํ•ญ
    • 3 ≤ number์˜ ๊ธธ์ด ≤ 13
    • -1,000 ≤ number์˜ ๊ฐ ์›์†Œ ≤ 1,000
    • ์„œ๋กœ ๋‹ค๋ฅธ ํ•™์ƒ์˜ ์ •์ˆ˜ ๋ฒˆํ˜ธ๊ฐ€ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

  • ์ž…์ถœ๋ ฅ ์˜ˆ & ์„ค๋ช…
no number result
1 [-2, 3, 0, 2, -5] 2
2 [-3, -2, -1, 0, 1, 2, 3] 5
3 [-1, 1, -1, 1] 0
  1. ๋ฌธ์ œ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  2. ํ•™์ƒ๋“ค์˜ ์ •์ˆ˜ ๋ฒˆํ˜ธ ์Œ (-3, 0, 3), (-2, 0, 2), (-1, 0, 1), (-2, -1, 3), (-3, 1, 2) ์ด ์‚ผ์ด์‚ฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, 5๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.
  3. ์‚ผ์ด์‚ฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

 


 

๐Ÿ’› Solution

ํ’€์ด

class Solution {
    public int solution(int[] number) {
        int answer = 0;
        for(int i=0; i<number.length-2; i++){
            for(int j=i+1; j<number.length-1; j++){
                for(int k=j+1; k<number.length; k++){
                    if(number[i]+number[j]+number[k]==0) {
                        answer++;
                    }
                }
            }
        }
        return answer;
    }
}

 

์ฒ˜๋ฆฌ์†๋„ VERY GOOD๐Ÿ’ž


 


 

๐Ÿ’œ Comment

์ด ๋ฌธ์ œ๋Š” for ๋ฐ˜๋ณต๋ฌธ 3์ค‘์ฒฉ์„ ์‚ฌ์šฉํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ for๋ฌธ์€ i=0;์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ  i<number.length-2;๊นŒ์ง€์˜ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ–ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์ธ๋ฑ์Šค 0๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋˜ ๋‘๋ฒˆ์งธ for๋ฌธ๊ณผ ์„ธ๋ฒˆ์งธ for๋ฌธ๊นŒ์ง€ ์ด์–ด์ง€๊ธฐ ์œ„ํ•œ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ž์—์„œ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•ด์•ผ ์ˆœ์„œ๊ฐ€ ์„ž์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‘๋ฒˆ์งธ for๋ฌธ์—์„œ๋Š” j=i; j<number.length-1;๋กœ ๋ฒ”์ฃผ๋ฅผ ์„ค์ •ํ–ˆ์œผ๋ฉฐ ์„ธ๋ฒˆ์งธ for๋ฌธ๋„ ๋™์ผํ•œ ์ด์œ ๋กœ k=j; k<number.length;๋ฅผ ์ง€์ •ํ–ˆ๋‹ค. ์ˆœ์„œ๊ฐ€ ์„ž์ด๊ฒŒ ๋˜๋ฉด ์ค‘๋ณต์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•œ ๋‹ค์Œ์— number[i]+number[j]+number[k]์˜ ๊ฐ’์ด 0์ด ๋˜๋Š”์ง€๋ฅผ ๊ฒ€์‚ฌํ•ด์„œ ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ๋งŒ answer++;ํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ๋‹ค.

 

 

9009์œ„๐Ÿ’ซ

 

 

 

 

๋Œ“๊ธ€