โจ๏ธ Language/swift
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ๋ฑ์ ๋งค๊ธฐ๊ธฐ
hyebin (Helia)
2023. 1. 5. 15:05
๋ฐ์ํ
๋ฑ์ ๋งค๊ธฐ๊ธฐ
๋ฌธ์ ์ค๋ช
์์ด ์ ์์ ์ํ ์ ์์ ํ๊ท ์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์๋ค์ ๋ฑ์๋ฅผ ๋งค๊ธฐ๋ ค๊ณ ํฉ๋๋ค. ์์ด ์ ์์ ์ํ ์ ์๋ฅผ ๋ด์ 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๋ฑ์ ์์ต๋๋ค.
์ ์ถ
import Foundation
func solution(_ score:[[Int]]) -> [Int] {
var avg = [Int]()
var answer = [Int]()
for s in score{
avg.append(s[0]+s[1])
}
for i in avg{
answer.append(avg.filter{$0 > i}.count + 1)
}
return answer
}
๋ ๊ณผ๋ชฉ์ ์ ์๋ฅผ ๋ํด avg ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
avg ์์๋ค์ filter ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์๊ธฐ ์์ ๋ณด๋ค ํฐ ๊ฒฝ์ฐ๋ฅผ ๊ตฌํด answer ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
๋ค๋ฅธ ํ์ด
import Foundation
func solution(_ score: [[Int]]) -> [Int] {
return score.map { Double($0.reduce(0, +)) / Double($0.count) }.map { score.map { Double($0.reduce(0, +)) / Double($0.count) }.sorted(by: >).firstIndex(of: $0)! + 1 }
}
๋ฐ์ํ