ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์
๋ชจ์๊ณ ์ฌ
๋ฌธ์ ์ค๋ช
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์ ๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ต๋๋ค.
1๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง์ ์ ๋ต์ด ์์๋๋ก ๋ค์ ๋ฐฐ์ด answers๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ๋งํ ์ฌ๋์ด ๋๊ตฌ์ธ์ง ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- ์ํ์ ์ต๋ 10,000 ๋ฌธ์ ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ๋ฌธ์ ์ ์ ๋ต์ 1, 2, 3, 4, 5์ค ํ๋์ ๋๋ค.
- ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๋ฐ์ ์ฌ๋์ด ์ฌ๋ฟ์ผ ๊ฒฝ์ฐ, return ํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด ์ฃผ์ธ์.
์ ์ถ๋ ฅ ์
answers | return |
[1,2,3,4,5] | [1] |
[1,3,2,4,2] | [1,2,3] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ์ํฌ์ 1์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
- ์ํฌ์ 2๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
- ์ํฌ์ 3์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฅ ๋ฌธ์ ๋ฅผ ๋ง์ด ๋งํ ์ฌ๋์ ์ํฌ์ 1์ ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ชจ๋ ์ฌ๋์ด 2๋ฌธ์ ์ฉ์ ๋ง์ท์ต๋๋ค.
์ ์ถ
import Foundation
func solution(_ answers:[Int]) -> [Int] {
let s1 = [1,2,3,4,5]
let s2 = [2,1,2,3,2,4,2,5]
let s3 = [3,3,1,1,2,2,4,4,5,5]
var score = [1:0, 2:0, 3:0]
for i in 0..<answers.count{
if(answers[i] == s1[i%5]){score[1]! += 1}
if(answers[i] == s2[i%8]){score[2]! += 1}
if(answers[i] == s3[i%10]){score[3]! += 1}
}
let max = score.values.max()
return score.filter{$0.value == max}.keys.sorted(by: <)
}
๊ฐ๊ฐ์ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์์ ๊ฐ๊ฐ ๋ฐฐ์ด๋ก ์์ฑํ๋ค.
๊ฐ ์ํฌ์์ ์ ์๋ฅผ ๋ด์ ๋์ ๋๋ฆฌ score๋ฅผ ์์ฑํ๋ค.
1๋ฒ ํ์์ 5๊ฐ์ ์ซ์๊ฐ ๋ฐ๋ณต๋๊ธฐ ๋๋ฌธ์ (ํ์ฌ ์ธ๋ฑ์ค%5)๊ฐ answer๋ฐฐ์ด์ ์์์ ๊ฐ๋ค๋ฉด 1๋ฒ ํ์์ ์ ์๋ฅผ 1 ์ฆ๊ฐํ๋ค.
2๋ฒ ํ์์ 8๊ฐ์ ์ซ์๊ฐ ๋ฐ๋ณต๋๊ธฐ ๋๋ฌธ์ (ํ์ฌ ์ธ๋ฑ์ค%8)๊ฐ answer๋ฐฐ์ด์ ์์์ ๊ฐ๋ค๋ฉด 2๋ฒ ํ์์ ์ ์๋ฅผ 1 ์ฆ๊ฐํ๋ค.
3๋ฒ ํ์์ 10๊ฐ์ ์ซ์๊ฐ ๋ฐ๋ณต๋๊ธฐ ๋๋ฌธ์ (ํ์ฌ ์ธ๋ฑ์ค%10)๊ฐ answer๋ฐฐ์ด์ ์์์ ๊ฐ๋ค๋ฉด 3๋ฒ ํ์์ ์ ์๋ฅผ 1 ์ฆ๊ฐํ๋ค.
score์์ ๊ฐ์ฅ ํฐ value๊ฐ์ ๊ตฌํด max ์์์ ์ ์ฅํ๋ค.
filter ํจ์๋ฅผ ์ฌ์ฉํ์ฌ score์์ value๊ฐ max์ ๋์ผํ key ๊ฐ๋ค์ ๊ตฌํ ํ ์ ๋ ฌํ์ฌ ๋ฐํํ๋ค.
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์คํจ์จ (0) | 2023.02.24 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์ฒด์ก๋ณต (0) | 2023.02.24 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] K๋ฒ์งธ์ (0) | 2023.02.22 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋คํธ ๊ฒ์ (0) | 2023.02.21 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋น๋ฐ์ง๋ (0) | 2023.02.21 |