๋ฌธ์ ์ค๋ช
array์ ๊ฐ element ์ค divisor๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ฐฐ์ด์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
divisor๋ก ๋๋์ด ๋จ์ด์ง๋ element๊ฐ ํ๋๋ ์๋ค๋ฉด ๋ฐฐ์ด์ -1์ ๋ด์ ๋ฐํํ์ธ์.
์ ํ ์กฐ๊ฑด
- arr์ ์์ฐ์๋ฅผ ๋ด์ ๋ฐฐ์ด์ ๋๋ค.
- ์ ์ i, j์ ๋ํด i ≠ j ์ด๋ฉด arr[i] ≠ arr[j] ์ ๋๋ค.
- divisor๋ ์์ฐ์์ ๋๋ค.
- array๋ ๊ธธ์ด 1 ์ด์์ธ ๋ฐฐ์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์
arr | divisor | return |
[5, 9, 7, 10] | 5 | [5, 10] |
[2, 36, 1, 3] | 1 | [1, 2, 3, 36] |
[3,2,6] | 10 | [-1] |
๋ด ๋ฌธ์ ํ์ด
func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
var result = [Int]()
for i in 0..<arr.count {
if arr[i] % divisor == 0 {
result.append(arr[i])
}
}
return result.isEmpty ? [-1] : result.sorted(by : <)
}
- ๋ฐฐ์ด ์์๋ค์ ํ๋์ฉ ๋๋ ๋ณด๋ฉฐ ๋๋ ๋จ์ด์ง๋ ์๋ค์ result ๋ฐฐ์ด์ append
- ๋ฐฐ์ด์ด ๋น์๋ค๋ฉด [-1] ๋ฆฌํด, ์๋๋ฉด ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋ ๋ฐฐ์ด๋ก ์ถ๋ ฅ!
์ธ์์ ์ธ ํ์ด
func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
let array = arr.sorted().filter{ $0 % divisor == 0 }
return array == [] ? [-1] : array
}
- filter ์ด์ฉํ์ฌ ๋๋ ๋จ์ด์ง๋ ์๋ค์ ๋ฐฐ์ด ์์ฑํด์ฃผ๊ณ ์ ๋ ฌํด์ฃผ์๋ค.
๐ก ํผ๋๋ฐฑ
- ์ญ์ ๊ณ ์ฐจํจ์๋ฅผ ์ ์ด์ฉํ๋๊ฒ ์ฝ๋๋ฅผ ์กฐ๊ธ์ด๋ผ๋ ๊ฐ๊ฒฐํ ์์ฑํ๋๋ฐ์ ํฐ ๋์์ด ๋๋ ๋ฏ ํ๋ค.!!
๐ [ ์ถ๊ฐ ] 1์ฃผ์ผ ํ ๋ค์ ํ์ด๋ณด๊ธฐ
func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
var res = Array(arr.filter({$0%divisor == 0}))
return res.isEmpty ? [-1] : res.sorted()
}
- ํจ์ฌ ๊น๋ํ๊ฒ ํ์๋ค,,
- ํ์คํ ์ด์ ๊ณ ์ฐจํจ์ ์ฌ์ฉ์ ํจ์ฌ ์ต์ํด์ก๋ค.
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/12910
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] 2016๋ Programmers(Lv.1) (0) | 2021.06.17 |
---|---|
[Swift Algorithm] ๊ฐ์ด๋ฐ ๊ธ์ ๊ฐ์ ธ์ค๊ธฐ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] ๋ ์ ์ ์ฌ์ด์ ํฉ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์ Programmers(Lv.1) (0) | 2021.06.17 |
๋๊ธ