10871번 X보다 작은 수

  • 배열을 만드는 방법은 여러가지 입니다, 아래 코드에서는 map 메서드를 사용하여 배열을 만들었습니다.
  • result에 삼항연산자를 사용하여 line[1] 보다 작은 값을 추려내 forEach로 출력하였습니다.
let line = readLine()!.split(separator: " ").map({Int($0)})
let arr = readLine()?.split(separator: " ").map({Int($0)})

let result = arr?.filter({ return $0! < line[1]! ? true : false })
result?.forEach({ value in
    print("\(value!)", terminator: " ")
})

 

10807번 개수 세기

  • a에 주어진 정수를 담습니다.
  • b에 a개만큼 입력받도록 문제가 의도하였지만 readLine과 split을 사용하여 a를 사용하지 않고도 해결할 수 있습니다.
  • 이후 c에 정수를 입력받고 c보다 작은 값이 존재하면 +1를 하여 결과를 저장 후 출력합니다.
let a = Int(readLine()!)!
let b = readLine()?.split(separator: " ").map({Int($0)})
let c = Int(readLine()!)!
var num = 0
b!.forEach({ value in
    if value! == c { num+=1 }
})
print(num)

 

2738번 행렬 덧셈

  • 개인적으로 조금 까다루운 문제였습니다, C++을 하다 2차원 배열을 어떻게 만들어야 하는지 몰랐기 때문..
  • var arr1: [[Int]] 처럼 2차원 배열 타입을 지정하고 repeating 에서 Array를 사용하여 0으로 채운 2차원 배열을 만듭니다.
  • 각 2차원 배열에 여러 1차원 배열의 값 (readLine()!.split(separator: " ").map({Int($0)!}) 을 넣습니다
  • arr1과 arr2를 더한 값을 담기 위한 result 이름의 0으로 채워진 2차원 배열값을 만듭니다.
  • 2중 for문을 사용하여 저장된 값을 출력합니다.
let line = readLine()!.split(separator: " ").map({Int($0)!})

var arr1: [[Int]] = Array(repeating: Array(repeating: 0, count: line[1]), count: line[0])
var arr2: [[Int]] = Array(repeating: Array(repeating: 0, count: line[1]), count: line[0])

for i in 0..<line[0] {
    arr1[i] = readLine()!.split(separator: " ").map({Int($0)!})
}

for i in 0..<line[0] {
    arr2[i] = readLine()!.split(separator: " ").map({Int($0)!})
}

var result: [[Int]] = Array(repeating: Array(repeating: 0, count: line[1]), count: line[0])

for i in 0..<line[0] {
    for j in 0..<line[1] {
        result[i][j] = arr1[i][j] + arr2[i][j]
        print(result[i][j], terminator: " ")
    }
    print()
}

 

5597번 과제 안 내신 분..?

  • 입력은 28줄이므로 각각의 값을 배열에 저장합니다
  • 1부터 30까지 저장된 값에서 contains 메서드를 사용하여 포함되어 있지 않으면 출력하여 해결할 수 있습니다.
var arr:[Int] = []

for _ in 1...28 {
    arr.append(Int(readLine()!)!)
}

for i in 1...30 {
    if !(arr.contains(where: { $0 == i })) {
        print(i)
    }
}

 

ytw_developer