문제
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)
둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
출력
X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.
내 코드
import Foundation
let nums = readLine()!.components(separatedBy: " ")
let arr = readLine()!.components(separatedBy: " ")
for i in arr {
if Int(i)! < Int(nums[1])! {
print(i)
}
}
채점현황을 보니 다른사람보다 시간이 2배는 더 걸림...
그래서 시간이 적게걸린 다른 사람들의 코드를 보니...나는 아직 갈길이 멀었구나라는 생각이 들었다.
다른 방법
let firstInput = readLine()?.split(separator:" ").map { Int($0)! }
let secondInput = readLine()?.split(separator:" ").map { Int($0)! }
var result = ""
for i in secondInput {
if i < firstInput[1] { // 주어진 정수
result += "\(i)"
}
}
print(result)
map이라는 고차함수가 있는데 사용을 안하다니...swift문법공부도 더 해야할듯싶다...
728x90
'코테 > Swift' 카테고리의 다른 글
[Swift] 백준 알고리즘 - 방 번호(1457) (2) | 2024.06.06 |
---|---|
[Swift] 백준 알고리즘 - 숫자의 개수(2577) (2) | 2024.06.06 |
[Swift] 백준 알고리즘 - 알파벳 개수(10808) (2) | 2024.06.06 |
[Swfit] 백준 알고리즘 - 핸드폰요금(1267) (0) | 2024.06.06 |
[Swift] 백준 알고리즘 - 시험성적(9498) (0) | 2024.06.06 |