2741번 N 찍기

  • for 문을 사용해 1부터 a까지 데이터를 클로저에 사용될 수 있도록 i에 넣어 사용하여 문제를 해결할 수 있습니다.
let line = readLine()!
let a = Int(line)!

for i in 1...a {
    print(i)
}

 

10872번 팩토리얼

  • N 팩토리얼은 1부터 N까지의 곱의 합입니다.
  • 입력값이 0이면 1을 출력하고 아니면 값을 계속 곱하면서 계산한 값을 출력합니다.
let line = readLine()!
let a = Int(line)!
var result = 1
if a > 0 {
    for i in 1...a {
        result *= i
    }
}
print(result)

 

10950번 A+B - 3

  • 반복할 값(a)을 입력받아 a 번만큼 반복합니다.
  • 반복하는 동안 입력받는 값을 " "를 사용하여 분리해 해당 값을 Int로 변환합니다.
  • 변환된 값을 더하여 배열에 넣습니다.
  • 배열을 순환하여 출력합니다.
let line = readLine()!
let a = Int(line)!
var list: [Int] = []

for i in 1...a {
    let value = readLine()
    let arr = value?.split(separator: " ")
    list.append(Int(arr![0])! + Int(arr![1])!)
}

for i in list {
    print(i)
}

 

10951번 A+B - 4

  • split으로 입력값으로 받는 2 숫자를 분리해줍니다.
  • map으로 분리한 값을 Int 형으로 변환합니다.
  • reduce를 사용하여 배열의 각 요소를 더해줍니다.
  • reduce에서 첫 번째 인자값은 배열이 비어있을 때 반환할 initialResult입니다, 두 번째 인자값에서는 원하는 수식을 넣습니다.
while let input = readLine(){
    print(input.split(separator: " ").map{ Int($0)! }.reduce(0, +))
}

 

10952번 A+B - 5

  • 10951번과 동일한데 다른 방법으로 구현하였습니다.
  • 처음 값을 입력받을 때 input 자체를 바로 [Int] 형으로 만들어 문제를 해결하였습니다.
  • readLine으로 String 값을 입력받습니다.
  • split으로 나뉜 값을 map으로 [Int] 를 input에 담습니다.
  • 받은 값을 if 문에서 입력값 0 0을 걸러내고 이후 0 0이 아닌 경우 더한 값을 출력합니다.
while let input = readLine()?.split(separator: " ").map({ Int($0) }){
    if input[0] == 0 && input[1] == 0 { break }
    print(input[0]! + input[1]!)
}

 

2739번 구구단

  • 구구단은 간단하게 값을 받은 후 9번 for문을 사용해 반복하여 해결할 수 있습니다.
let line = readLine()!
let num = Int(line)!
for i in 1...9 {
    print("\(num) * \(i) = \(num*i)")
}

2438번 별 찍기 -1

  • 모든 데이터 type에 존재하는 Type(repeating: <T>, count: Int) 을 사용하면 쉽게 해결할 수 있습니다.
let line = readLine()!
let num = Int(line)!

for i in 1...num {
    print(String(repeating: "*", count: i))
}
ytw_developer