ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์
๋ช ์์ ์ ๋น (1)
๋ฌธ์ ์ค๋ช
"๋ช ์์ ์ ๋น"์ด๋ผ๋ TV ํ๋ก๊ทธ๋จ์์๋ ๋งค์ผ 1๋ช ์ ๊ฐ์๊ฐ ๋ ธ๋๋ฅผ ๋ถ๋ฅด๊ณ , ์์ฒญ์๋ค์ ๋ฌธ์ ํฌํ์๋ก ๊ฐ์์๊ฒ ์ ์๋ฅผ ๋ถ์ฌํฉ๋๋ค. ๋งค์ผ ์ถ์ฐํ ๊ฐ์์ ์ ์๊ฐ ์ง๊ธ๊น์ง ์ถ์ฐ ๊ฐ์๋ค์ ์ ์ ์ค ์์ k๋ฒ์งธ ์ด๋ด์ด๋ฉด ํด๋น ๊ฐ์์ ์ ์๋ฅผ ๋ช ์์ ์ ๋น์ด๋ผ๋ ๋ชฉ๋ก์ ์ฌ๋ ค ๊ธฐ๋ ํฉ๋๋ค. ์ฆ ํ๋ก๊ทธ๋จ ์์ ์ดํ ์ด๊ธฐ์ k์ผ๊น์ง๋ ๋ชจ๋ ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๋ช ์์ ์ ๋น์ ์ค๋ฅด๊ฒ ๋ฉ๋๋ค. k์ผ ๋ค์๋ถํฐ๋ ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๊ธฐ์กด์ ๋ช ์์ ์ ๋น ๋ชฉ๋ก์ k๋ฒ์งธ ์์์ ๊ฐ์ ์ ์๋ณด๋ค ๋ ๋์ผ๋ฉด, ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๋ช ์์ ์ ๋น์ ์ค๋ฅด๊ฒ ๋๊ณ ๊ธฐ์กด์ k๋ฒ์งธ ์์์ ์ ์๋ ๋ช ์์ ์ ๋น์์ ๋ด๋ ค์ค๊ฒ ๋ฉ๋๋ค.
์ด ํ๋ก๊ทธ๋จ์์๋ ๋งค์ผ "๋ช ์์ ์ ๋น"์ ์ตํ์ ์ ์๋ฅผ ๋ฐํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, k = 3์ด๊ณ , 7์ผ ๋์ ์งํ๋ ๊ฐ์์ ์ ์๊ฐ [10, 100, 20, 150, 1, 100, 200]์ด๋ผ๋ฉด, ๋ช ์์ ์ ๋น์์ ๋ฐํ๋ ์ ์๋ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด [10, 10, 10, 20, 20, 100, 100]์ ๋๋ค.
๋ช ์์ ์ ๋น ๋ชฉ๋ก์ ์ ์์ ๊ฐ์ k, 1์ผ๋ถํฐ ๋ง์ง๋ง ๋ ๊น์ง ์ถ์ฐํ ๊ฐ์๋ค์ ์ ์์ธ score๊ฐ ์ฃผ์ด์ก์ ๋, ๋งค์ผ ๋ฐํ๋ ๋ช ์์ ์ ๋น์ ์ตํ์ ์ ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- 3 ≤ k ≤ 100
- 7 ≤ score์ ๊ธธ์ด ≤ 1,000
- 0 ≤ score[i] ≤ 2,000
์ ์ถ๋ ฅ ์
k | score | result |
3 | [10, 100, 20, 150, 1, 100, 200] | [10, 10, 10, 20, 20, 100, 100] |
4 | [0, 300, 40, 300, 20, 70, 150, 50, 500, 1000] | [0, 0, 0, 0, 20, 40, 70, 70, 150, 300] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ฌธ์ ์ ์์์ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ์๋์ ๊ฐ์ด, [0, 0, 0, 0, 20, 40, 70, 70, 150, 300]์ return ํฉ๋๋ค.
์ ์ถ
import Foundation
func solution(_ k:Int, _ score:[Int]) -> [Int] {
var arr = [Int]()
var re = [Int]()
for s in score{
arr.append(s)
arr = arr.sorted(by: >)
if arr.count < k{
re.append(arr.last!)
}else{
re.append(arr[k-1])
}
}
return re
}
์ ์๋ฅผ ์ ์ฅํ Intํ ๋ฐฐ์ด arr์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ Intํ ๋ฐฐ์ด re๋ฅผ ์ ์ธํ๋ค.
score ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ค์ ํ์ํ๋ค.
arr์ ์์๋๋ก score ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ๊ณ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
arr์ ํฌ๊ธฐ๊ฐ k๋ณด๋ค ์๋ค๋ฉด arr์ ๋ง์ง๋ง ์์๋ฅผ re ๋ฐฐ์ด์ ์ถ๊ฐํ๊ณ , ์๋๋ผ๋ฉด arr[k-1]๋ฅผ re์ ์ถ๊ฐํ๋ค.
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2023.03.16 |
---|---|
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ฌธ์์ด ๋๋๊ธฐ (0) | 2023.03.16 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ (0) | 2023.03.15 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๊ณผ์ผ ์ฅ์ (0) | 2023.03.13 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ํธ๋ ํ์ดํธ ๋ํ (0) | 2023.03.12 |