์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ์„น์…˜2. Array(1, 2์ฐจ์› ๋ฐฐ์—ด) : ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ

2023. 10. 11. 13:59ใ†์ธํ”„๋Ÿฐ/์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ์ž…๋ฌธ : ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„

728x90

 

https://hyejin.tistory.com/1215

 

์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ์„น์…˜2. Array(1, 2์ฐจ์› ๋ฐฐ์—ด) : ์ ์ˆ˜ ๊ณ„์‚ฐ

https://hyejin.tistory.com/1214 ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ์„น์…˜2. Array(1, 2์ฐจ์› ๋ฐฐ์—ด) : ๋’ค์ง‘์€ ์†Œ์ˆ˜ https://hyejin.tistory.com/1213 ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ์„น์…˜2. Array(1, 2์ฐจ์› ๋ฐฐ์—ด) : ์†Œ์ˆ˜ (์—๋ผํ† 

hyejin.tistory.com

-> ์ด์ „ ๋ฌธ์ œ ํ’€์ด 

 

 

 

8. ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ 

 

์„ค๋ช…

N๋ช…์˜ ํ•™์ƒ์˜ ๊ตญ์–ด์ ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๊ฐ ํ•™์ƒ์˜ ๋“ฑ์ˆ˜๋ฅผ ์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

๊ฐ™์€ ์ ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋  ๊ฒฝ์šฐ ๋†’์€ ๋“ฑ์ˆ˜๋กœ ๋™์ผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

์ฆ‰ ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜๊ฐ€ 92์ ์ธ๋ฐ 92์ ์ด 3๋ช… ์กด์žฌํ•˜๋ฉด 1๋“ฑ์ด 3๋ช…์ด๊ณ  ๊ทธ ๋‹ค์Œ ํ•™์ƒ์€ 4๋“ฑ์ด ๋œ๋‹ค.

 

์ž…๋ ฅ

์ฒซ ์ค„์— N(3<=N<=100)์ด ์ž…๋ ฅ๋˜๊ณ , ๋‘ ๋ฒˆ์งธ ์ค„์— ๊ตญ์–ด์ ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋Š” N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค.

 

์ถœ๋ ฅ

์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ๋“ฑ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์‹œ ์ž…๋ ฅ 1 

5
87 89 92 100 76

 

์˜ˆ์‹œ ์ถœ๋ ฅ 1

4 3 2 1 5

 

 

๋ฌธ์ œ ํ’€์ด 1

public int[] solution(int n, int[] scores) {
    int[] answer = new int[n];
    int[] tmp = Arrays.copyOf(scores, n);
    Arrays.sort(tmp);

    for (int i = 0; i < n; i++) {
        for (int j = n-1; j >= 0; j--) {
            if (scores[i] == tmp[j]) {
                answer[i] = n - j;
                break;
            }
        }
    }
    return answer;
}

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป : ๋“ฑ์ˆ˜ ๊ตฌํ•  ๋•Œ ๋‚˜๋Š” Arrays.sort ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์ •๋ ฌ๋œ ๋ฐฐ์—ด ํ•˜๋‚˜๋ฅผ ๋” ๋งŒ๋“ค์—ˆ๋‹ค. 

๊ทธ ํ›„, ์ด์ค‘ for ๋ฌธ์„ ๋Œ๋ฉด์„œ ์ •๋ ฌ๋œ ๋ฐฐ์—ด tmp์™€ socres์˜ ์ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด ํ•ด๋‹น ๋ฐฐ์—ด์˜ ์œ„์น˜๋ฅผ ๊ตฌํ•ด์„œ  answer[i] ์— ๋‹ด์•„์คฌ๋‹ค. 

 

 

 

๋ฌธ์ œ ํ’€์ด 2

public int[] solution2(int n, int[] scores) {
    int[] answer = new int[n];

    for (int i = 0; i < n; i++) {
        int  cnt = 1;
        for (int j = 0; j < n; j++) {
            if (scores[j] > scores[i]) cnt++;
        }
        answer[i] = cnt;
    }

    return answer;
}

๐Ÿ‘พ : ๊ฐ•์‚ฌ๋‹˜์€ for๋ฌธ์„ ๋‘ ๋ฒˆ ๋Œ๋ฉด์„œ score ๊ฐ’ ํ•˜๋‚˜๋ฅผ ๋‘๋ฒˆ์งธ for ๋ฌธ ๋Œ๋ฉด์„œ ๋ชจ๋“  ์ ์ˆ˜์™€ ๋น„๊ตํ•˜๊ณ  ๊ทธ ๊ฐ’๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ cnt์— +1๋ฅผ ํ•ด์คฌ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฐ’์„ answer ๋ฐฐ์—ด์— ๋„ฃ์–ด์คฌ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด 87 89 92 92 100 ์ด๋Ÿฐ ์˜ˆ์ œ์—์„œ๋„ 5, 4, 2, 2, 1   ์ด๋Ÿฐ์‹์œผ๋กœ ๊ฐ™์€ 3๋“ฑ์ด ์•„๋‹Œ 4๋“ฑ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค, 

 

 

 

 

 

 

 

 

728x90