Teddy Bear Holding A Heart Balloon [์ž…๋ฌธ] ๊ณต ๋˜์ง€๊ธฐ
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿฅ‡ Coding Test/์˜ค๋‹ต๋…ธํŠธ

[์ž…๋ฌธ] ๊ณต ๋˜์ง€๊ธฐ

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

 

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

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

programmers.co.kr

[ ๋ฌธ์ œ์„ค๋ช… ]

๋จธ์“ฑ์ด๋Š” ์นœ๊ตฌ๋“ค๊ณผ ๋™๊ทธ๋ž—๊ฒŒ ์„œ์„œ ๊ณต ๋˜์ง€๊ธฐ ๊ฒŒ์ž„์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต์€ 1๋ฒˆ๋ถ€ํ„ฐ ๋˜์ง€๋ฉฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ๋ช…์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๊ทธ๋‹ค์Œ ์‚ฌ๋žŒ์—๊ฒŒ๋งŒ ๋˜์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นœ๊ตฌ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด numbers์™€ ์ •์ˆ˜ K๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, k๋ฒˆ์งธ๋กœ ๊ณต์„ ๋˜์ง€๋Š” ์‚ฌ๋žŒ์˜ ๋ฒˆํ˜ธ๋Š” ๋ฌด์—‡์ธ์ง€ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

[ ํ’€์ด๊ณผ์ • ]

class Solution {
    public int solution(int[] numbers, int k) {
        int answer = 0;
        int len = numbers.length; //numbers๋ฐฐ์—ด์˜ ๊ธธ์ด ๋ณ€์ˆ˜ len์œผ๋กœ ์„ ์–ธ
        int idx = 2*k-2; //k๋ฒˆ์งธ ๊ณต์„ ๋˜์ง€๋Š” ์‚ฌ๋žŒ์˜ ์ธ๋ฑ์Šค
        //123123 -> ์ธ๋ฑ์Šค๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด 012345 -> 3๋ฒˆ์งธ๋กœ ๊ณต์„ ๋˜์ง€๋Š” ์‚ฌ๋žŒ์€ 4๋ฒˆ์ธ๋ฑ์Šค
        //4๋ฒˆ์ธ๋ฑ์Šค = 4๋ฅผ len์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ = 1๋ฒˆ์ธ๋ฑ์Šค
        
        if (idx>=len) { 
            answer = numbers[idx%len]; 
        }
        else {
            answer = numbers[idx];
        }
        
        return answer;
    }
}

[ ๋‹ค๋ฅธํ’€์ด ]

class Solution {
    public int solution(int[] numbers, int k) {
        int count = 0; //์ธ๋ฑ์Šค 2์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉฐ ์ด๋™ํ•  ๋ณ€์ˆ˜ count
        int answer = 0;
        
        for(int i=0; i<k-1; i++) { //k-1๋ฒˆ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ
            count = count + 2; //count 2์”ฉ ์ฆ๊ฐ€ (๋‹ค๋‹ค์Œ ์ธ๋ฑ์Šค๋กœ)
            
            if(count > numbers.length-1) { //count๊ฐ€ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด
               count =  count - numbers.length; 
               //count์— ๋ฐฐ์—ด๊ธธ์ด ๋นผ์ฃผ๊ธฐ
               //๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 4์ผ๋•Œ 5๋ฒˆ์ธ๋ฑ์Šค = 1๋ฒˆ์ธ๋ฑ์Šค(5-4)
            }
            answer = numbers[count];
        }

        return answer;
    }
}