๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜ ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด JAVA

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜

์š”์ผ์ด 2023. 3. 2. 19:25
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

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

 

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

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

programmers.co.kr

 

import java.util.*;

class Solution {
    public int solution(int[] elements) {
        int answer = 0;
        HashSet<Integer> set = new HashSet<Integer>();


        for(int i=1; i<=elements.length; i++){

            int sum = 0;
            int index = 0;
            int k = 0;

            for(int j=0; j< elements.length+i; j++){

                int m = k % elements.length;

                if(k == (elements.length-1)+i){
                    break;
                }

                if(j>=i){
                    sum += elements[m];
                    sum = sum-elements[index];
                    index++;
                }else{
                    sum += elements[m];
                }

                set.add(sum);

                k++;

            }
        }

        answer = set.size();

        return answer;
    }
}

 

์ฒ˜์Œ์—๋Š” ArrayList<Integer>๋ฅผ ์„ ์–ธํ•ด์„œ contains ํ•จ์ˆ˜๋ฅผ ์จ์„œ ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ์ˆซ์ž๋ฅผ ์ฐพ๊ณ ์ž ํ•˜์˜€์ง€๋งŒ

๊ณ„์† ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋– ์„œ

HashSet์„ ์ด์šฉํ•˜์˜€๋”๋‹ˆ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์ง€ ์•Š์•˜๋‹ค.

 

ArrayList๋Š” contains ๋ฉ”์†Œ๋“œ ์‹คํ–‰ ์‹œ ์ฒ˜์Œ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ’์„ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.

 

HashSet์€ ๋น„์„ ํ˜• ๊ตฌ์กฐ๋กœ ์ˆœ์„œ๊ฐ€ ์—†๊ณ  ์ธ๋ฑ์Šค๋„ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋˜ํ•œ, ์ค‘๋ณต์„ ์ž๋™์œผ๋กœ ์ œ๊ฑฐํ•ด์ค€๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ๋•Œ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ key๋กœ ์ˆœ์„œ์™€ ์ƒ๊ด€์—†์ด ๋ฐ”๋กœ ํ™•์ธํ•œ๋‹ค. ๋”ฐ๋ผ์„œ List๋ณด๋‹ค ์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

Comments