๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ๋“ฑ์ˆ˜ ๋งค๊ธฐ๊ธฐ(์ž๋ฐ”)

Dhey 2023. 8. 1. 20:47
๋ฐ˜์‘ํ˜•

โžฐ๋ฌธ์ œ

 

์˜์–ด ์ ์ˆ˜์™€ ์ˆ˜ํ•™ ์ ์ˆ˜์˜ ํ‰๊ท  ์ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•™์ƒ๋“ค์˜ ๋“ฑ์ˆ˜๋ฅผ ๋งค๊ธฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜์–ด ์ ์ˆ˜์™€ ์ˆ˜ํ•™ ์ ์ˆ˜๋ฅผ ๋‹ด์€ 2์ฐจ์› ์ •์ˆ˜ ๋ฐฐ์—ด score๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์˜์–ด ์ ์ˆ˜์™€ ์ˆ˜ํ•™ ์ ์ˆ˜์˜ ํ‰๊ท ์„ ๊ธฐ์ค€์œผ๋กœ ๋งค๊ธด ๋“ฑ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

 

 

 

์ œํ•œ์‚ฌํ•ญ

  -  0 ≤ score[0], score[1] ≤ 100

  -  1 ≤ score์˜ ๊ธธ์ด ≤ 10

  -  score์˜ ์›์†Œ ๊ธธ์ด๋Š” 2์ž…๋‹ˆ๋‹ค.

  -  score๋Š” ์ค‘๋ณต๋œ ์›์†Œ๋ฅผ ๊ฐ–์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 


์ž…์ถœ๋ ฅ ์˜ˆ

score result
[[80, 70], [90, 50], [40, 70], [50, 80]] [1, 2, 4, 3]
[[80, 70], [70, 80], [30, 50], [90, 100], [100, 90], [100, 100], [10, 30]] [4, 4, 6, 2, 2, 1, 7]

 

 

 


์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

   -  ํ‰๊ท ์€ ๊ฐ๊ฐ 75, 70, 55, 65 ์ด๋ฏ€๋กœ ๋“ฑ์ˆ˜๋ฅผ ๋งค๊ฒจ [1, 2, 4, 3]์„ returnํ•ฉ๋‹ˆ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ #2

   -  ํ‰๊ท ์€ ๊ฐ๊ฐ 75, 75, 40, 95, 95, 100, 20 ์ด๋ฏ€๋กœ [4, 4, 6, 2, 2, 1, 7] ์„ returnํ•ฉ๋‹ˆ๋‹ค.

   -  ๊ณต๋™ 2๋“ฑ์ด ๋‘ ๋ช…, ๊ณต๋™ 4๋“ฑ์ด 2๋ช… ์ด๋ฏ€๋กœ 3๋“ฑ๊ณผ 5๋“ฑ์€ ์—†์Šต๋‹ˆ๋‹ค.

 

 

 

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

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

programmers.co.kr

 


 

๐Ÿ’กํ’€์ด

 ์ฒ˜์Œ์—๋Š” ๊ฐ ํ•™์ƒ์˜ ํ‰๊ท ์„ ๋ฐฐ์—ด๋กœ ์ €์žฅํ•˜๊ณ  ์ •๋ ฌ์„ ํ•˜๋ คํ–ˆ๋”๋‹ˆ, ๊ทธ๋Ÿฌ๋ฉด ํ‰๊ท ์ด ๊ฐ™์€ ํ•™์ƒ๋ผ๋ฆฌ ๊ฐ™์€ ๋“ฑ์ˆ˜๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค.

 

 

์ „์ฒด๋ฅผ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋Œ๋ฉด์„œ ํ‰๊ท ๊ฐ’์„ ๋น„๊ตํ•ด ๊ฐ๊ฐ์˜ ๋“ฑ์ˆ˜๋ฅผ ๋งค๊ฒจ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ–ˆ๋‹ค.

   1. score์˜ ๊ฐ ์ ์ˆ˜์˜ ํ‰๊ท ์„ ์ €์žฅํ•  ๋ฐฐ์—ด์„ ์ƒ์„ฑ ํ›„ ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค. ( avg[] )

   2. ์ด์ค‘ for๋ฌธ์œผ๋กœ ๋ฐฐ์—ด์„ ๋Œ๋ฉด์„œ ์ž๊ธฐ ์ž์‹  ์ด์™ธ์˜ ๊ฐ’๋ณด๋‹ค ํฐ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด rank +1์„ ํ•ด์ฃผ์–ด ๋“ฑ์ˆ˜๋ฅผ ๋‚ฎ์ถ˜๋‹ค.

 

 

 

โญ์ œ์ถœ ์ฝ”๋“œ

class Solution {
    public int[] solution(int[][] score) {        
        int[] answer = new int[score.length];
        
        double[] avg = new double[score.length];    //๊ฐ ํ•™์ƒ์˜ ํ‰๊ท  ์ €์žฅ
        for(int i=0; i<score.length; i++) {
            avg[i] = (double)(score[i][0] + score[i][1]) / 2;
        }

        for(int i=0; i<avg.length; i++) {
            int rank = 1;
            for(int j=0; j<avg.length; j++) {
                if(avg[i] < avg[j]) {
                    rank++;
                }
            }
            answer[i] = rank;
        }
        
        return answer;
    }
}

 

ํ’€๋‹ค๋ณด๋ฉด ๋” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Œ์—๋„ ์•„์ง ๋ฌธ์ œํ•ด๊ฒฐ์„ ์œ„ํ•œ ์‚ฌ๊ณ ๋ฐฉ์‹์ด ๋ถ€์กฑํ•œ ๊ฒƒ ๊ฐ™์•„ ๋” ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ฉฐ ๋…ธ๋ ฅํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

 

 

๋ฐ˜์‘ํ˜•