๋ฐ์ํ
ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์
K๋ฒ์งธ์
๋ฌธ์ ์ค๋ช
๋ฐฐ์ด array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค.
์๋ฅผ ๋ค์ด array๊ฐ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด
- array์ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅด๋ฉด [5, 2, 6, 3]์ ๋๋ค.
- 1์์ ๋์จ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ฉด [2, 3, 5, 6]์ ๋๋ค.
- 2์์ ๋์จ ๋ฐฐ์ด์ 3๋ฒ์งธ ์ซ์๋ 5์ ๋๋ค.
๋ฐฐ์ด array, [i, j, k]๋ฅผ ์์๋ก ๊ฐ์ง 2์ฐจ์ ๋ฐฐ์ด commands๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, commands์ ๋ชจ๋ ์์์ ๋ํด ์์ ์ค๋ช ํ ์ฐ์ฐ์ ์ ์ฉํ์ ๋ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- array์ ๊ธธ์ด๋ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
- array์ ๊ฐ ์์๋ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
- commands์ ๊ธธ์ด๋ 1 ์ด์ 50 ์ดํ์ ๋๋ค.
- commands์ ๊ฐ ์์๋ ๊ธธ์ด๊ฐ 3์ ๋๋ค.
์ ์ถ๋ ฅ ์
array | commands | return |
[1, 5, 2, 6, 3, 7, 4] | [[2, 5, 3], [4, 4, 1], [1, 7, 3]] | [5, 6, 3] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- [1, [1, 5, 2, 6, 3, 7, 4]๋ฅผ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅธ ํ ์ ๋ ฌํฉ๋๋ค. [2, 3, 5, 6]์ ์ธ ๋ฒ์งธ ์ซ์๋ 5์ ๋๋ค.
- [1, 5, 2, 6, 3, 7, 4]๋ฅผ 4๋ฒ์งธ๋ถํฐ 4๋ฒ์งธ๊น์ง ์๋ฅธ ํ ์ ๋ ฌํฉ๋๋ค. [6]์ ์ฒซ ๋ฒ์งธ ์ซ์๋ 6์ ๋๋ค.
- [1, 5, 2, 6, 3, 7, 4]๋ฅผ 1๋ฒ์งธ๋ถํฐ 7๋ฒ์งธ๊น์ง ์๋ฆ ๋๋ค. [1, 2, 3, 4, 5, 6, 7]์ ์ธ ๋ฒ์งธ ์ซ์๋ 3์ ๋๋ค.
์ ์ถ
import Foundation
func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] {
var re = [Int]()
var a = [Int]()
for i in 0..<commands.count{
a = array[(commands[i][0]-1)...(commands[i][1]-1)].sorted()
re.append(a[(commands[i][2]-1)])
}
return re
}
commads์ ๋ฐ๋ผ ๋ฐฐ์ด array๋ฅผ ์๋ฅธ ํ ์ ๋ ฌํ๋ค.
์ดํ re ๋ฐฐ์ด์ k๋ฒ์งธ ์๋ ์๋ฅผ ์ ์ฅํ๋ค.
๋ค๋ฅธ ํ์ด
import Foundation
func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] {
return commands.map{ array[$0[0]-1...$0[1]-1].sorted()[$0[2]-1]}
}
map ํจ์๋ฅผ ์ฌ์ฉํด commads์ ๋ฐ๋ผ ๋ฐฐ์ด array๋ฅผ ์๋ฅธ ํ ์ ๋ ฌํ๊ณ k๋ฒ์งธ ์๋ ์์๋ฅผ ๋ฐํํ๋ค.
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์ฒด์ก๋ณต (0) | 2023.02.24 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋ชจ์๊ณ ์ฌ (0) | 2023.02.22 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋คํธ ๊ฒ์ (0) | 2023.02.21 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ๋น๋ฐ์ง๋ (0) | 2023.02.21 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.1] ์์ฐ (0) | 2023.02.16 |