๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค • ์ฝ”ํ‹€๋ฆฐ] ๊ณผ์ผ ์žฅ์ˆ˜ #135808

by ํ‚ค์œค 2023. 12. 21.

#135808

๐ŸŽ„ Question ?

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

class Solution {
    fun solution(k: Int, m: Int, score: IntArray): Int {
        var answer: Int = 0
        return answer
    }
}

๐Ÿงฉ Thought Process

  1. ํ’ˆ์งˆ์ด ์ข‹๊ณ  ํ’ˆ์งˆ์ด ์•ˆ ์ข‹์€ ์‚ฌ๊ณผ๋ฅผ ๊ณจ๊ณ ๋ฃจ ๋„ฃ์œผ๋ฉด ๋ชจ๋“  ์ƒ์ž์— ํ’ˆ์งˆ์ด ์•ˆ ์ข‹์€ ์‚ฌ๊ณผ๊ฐ€ ๋“ค์–ด ์ „์ฒด ๋‹จ๊ฐ€๋ฅผ ๋‚ฎ์ถœ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ’ˆ์งˆ์ด ์ข‹์€ ์‚ฌ๊ณผ ์ˆœ์œผ๋กœ ๋ฐ•์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ๋งŒ ์ƒ๋Œ€์ ์œผ๋กœ ๋น„์‹ผ ๋ฐ•์Šค๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ตœ๋Œ€ ์ˆ˜์ต์œผ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  2. ๊ทธ๋ž˜์„œ score array๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•ด ์ฃผ์—ˆ๋‹ค.
  3. ์ด score ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ m๊ฐœ ๋กœ ๋‚˜๋ˆ„์–ด์ฃผ๋ฉด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐ•์Šค์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ธ๋ฑ์Šค๊ฐ€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ณ  ์šฐ๋ฆฌ๋Š” ๋ฐ•์Šค์˜ ๊ฐœ์ˆ˜๋งŒํผ ๊ฐ€๊ฒฉ์„ ์ฑ…์ •ํ•˜๊ณ  ์‹ถ์œผ๋‹ˆ until์„ ์ด์šฉํ•˜์—ฌ for๋ฌธ์„ ๋งŒ๋“ค์–ด์ฃผ์—ˆ๋‹ค.
  4. for๋ฌธ์ด ๋Œ๋•Œ๋งˆ๋‹ค ๋ฐ•์Šค์˜ ์ตœ์†Œ ๊ฐ€๊ฒฉ๊ณผ ๋ฐ•์Šค์— ๋“ค์–ด์žˆ๋Š” ์‚ฌ๊ณผ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณฑํ•ด์ฃผ์—ˆ๋‹ค.

 

๐ŸŽ€ Answer

class Solution {
    fun solution(k: Int, m: Int, score: IntArray): Int {
        var answer : Int = 0
        score.sortDescending()
        for (i in 0 until score.size/m) {
            answer += score[(i+1)*m-1]*m
        }
        return answer
    }
}

 

๐ŸŽ Result

๐Ÿ† Comment

25๋ถ„๋งŒ์— ํ’€์—ˆ๋‹ค.