58. 배열 만들기 3
import Foundation
func solution(_ arr:[Int], _ intervals:[[Int]]) -> [Int] {
var answer : [Int] = []
for i in 0...intervals.count-1 {
answer += Array(arr[Int(intervals[i][0]) ... Int(intervals[i][1])])
}
return answer
}
이렇게 한 이유
슬라이싱과 유사하게 해보았고. 혹시나 해서 빈 배열에 +=로 누적을 해보았는데 되었다.
57. 첫 번째로 나오는 음수
import Foundation
func solution(_ num_list:[Int]) -> Int {
var answer : Int = 0
for i in 0...num_list.count-1 {
if num_list[i] < 0 {
answer = i
break
} else {
answer = -1
}
}
return answer
}
이렇게 한 이유
반복문을 통해서 해결하였다.
전에 풀었던 문제와 유사하게...
56. 리스트 자르기
import Foundation
func solution(_ n:Int, _ slicer:[Int], _ num_list:[Int]) -> [Int] {
var answer : [Int] = []
switch n {
case 1 :
answer = Array(num_list[0...slicer[1]])
case 2 :
answer = Array(num_list[slicer[0]...])
case 3 :
answer = Array(num_list[slicer[0]...sl...
55. 가까운 1 찾기
import Foundation
func solution(_ arr:[Int], _ idx:Int) -> Int {
var answer : Int = 0
for i in idx ... arr.count-1 {
if arr[i] == 1 {
answer = i
break
} else {
answer = -1
}
}
return answer
}
이렇게 한 이유
반복문을 통하려고 하였고, 1일때의 인덱스값을 찾자마자 리턴을 시켜야 했기에, break를 써서 끊...
54. 카운트 다운
import Foundation
func solution(_ start:Int, _ end_num:Int) -> [Int] {
var answer : [Int] = []
answer = (end_num ... start).map{$0}
return answer.sorted(by:>)
}
이렇게 한 이유
map을 사용하여 해결하려고 하였고 end~start까지의 범위로 내림차순 정렬로 리턴하여 해결하였다.
52. 배열 만들기1
import Foundation
func solution(_ n:Int, _ k:Int) -> [Int] {
var arr : [Int] = []
arr = (1...n).map{$0}.filter{$0 % k == 0}
return arr
}
이렇게 한 이유.
고차함수로 문제를 해결하려고 하였다.
다만 그냥 수가 주어졌을때 어떻게 해야하는지 몰라 찾아보니 (1…n)을 사용하여 범위의 숫자를 적용한 뒤에 map을 사용하여 1부터 n까지의 정수 배열을 생성하였고,
그뒤에 filter를 적용하여 각 인덱스에 접근하여 k로 나누었을때 나머지가 0 즉, k의 배수인...
631 post articles, 79 pages.