728x90
반응형
SMALL
문제
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)
둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
출력
X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.
예제 입력 1 복사
10 5
1 10 4 9 2 3 8 5 7 6
예제 출력 1 복사
1 4 2 3
풀이 1
import Foundation
let input = readLine()!.components(separatedBy: " ").map { Int($0)! }
let n = input[0]
let X = input[1]
let A = readLine()!.components(separatedBy: " ")
.map { Int($0)! }
.filter { $0 < X }
var result = ""
A.map { result += "\($0) "}
print(result)
// 또는
// A.map { print($0, terminator: " ") }
- 문제를 보자마자 filter를 써서 풀어봐야겠다고 생각했다.
풀이 2
let input1 = readLine()!.components(separatedBy: " ").map { Int($0)! }
let input2 = readLine()!.components(separatedBy: " ").map { Int($0)! }
for i in input2 {
if i < input1[1] {
print(i, terminator: " ")
}
}
- 이렇게 더 깔끔하게 사용할 수도 있다.
- 실제로는 result 에 값을 더하는 것 보다 print 의 terninator 를 사용한 방법이 메모리를 조금 더 효율적으로 사용했다.
- terminator 를사용해서 print를 가로로 출력할 수 있다는 것을 알게 되었다.
728x90
반응형
LIST
'Algorithm' 카테고리의 다른 글
[알고리즘] 백준 2562 번 : 최댓값과 Index (0) | 2023.10.22 |
---|---|
[알고리즘]기초 : 백준 10818번, Swift Substring 란? (3) | 2023.10.10 |
[알고리즘] 기초 : 백준 10807번 갯수 세기 (0) | 2023.10.06 |
[알고리즘] 기초 : 백준 : 10951번 : EOF (0) | 2023.10.05 |
[알고리즘] 기초 : 백준 반복문 10952번 (1) | 2023.10.05 |