사칙연산 곱셈 (2588), if문 (1330, 9498, 2753, 14681, 2884) 문제풀이
먼저 곱셈 문제에서,
처음에 런타임 오류가 났는데
readLine으로 입력받을 때, 두 줄에 거쳐 입력을 받았는데
어떻게 두 줄을 입력받는지 몰라서였다.
복잡하게 생각할 것 없이 readLine을 두 번 사용하면 되는 문제였다.
let num1 = Int(readLine()!)!
let input2 = readLine()!
let num2 = Int(input2)!
let num2Arr = input2.map {Int(String($0))!}
let num3 = num1 * num2Arr[2]
let num4 = num1 * num2Arr[1]
let num5 = num1 * num2Arr[0]
let num6 = num1 * num2
print(num3)
print(num4)
print(num5)
print(num6)
위와 같이 코드를 작성해서 해결했다.
4번문제인 사분면 고르기까지는 난이도가 거의 없었고,
마지막 5번문제였던 알람시계 문제(2884)에서 시간을 많이 잡아먹었다.
정답률 39% ㄷㄷ
단순하게만 생각하고 접근했는데,
생각보다 반례가 많아서
왜 틀린건지 생각하느라 오래 걸렸었다.
let input = readLine()!.split(separator: " ")
let num = input.map{Int($0)!}
if num[1] < 45 {
num[0] != 0 ? print(num[0]-1, num[1]+15) : print("23", num[1]+15)
} else if num[1] > 45 {
print(num[0], num[1]-45)
} else {
print(num[0], "0")
}
최종적으로 위의 코드를 통해 정답 판정을 받았다.
제출하고 다른 사람들 코드와 비교해봤을 때,
모두 minute으로 바꿔서 계산한 사람들도 있었고,
미리 45를 빼서 음수로 시작한 사람들도 있었다.
난 내 코드가 더 직관적인 것 같아서 마음에 든다.
아니면 말고......
'Today I Learned' 카테고리의 다른 글
20210826~20210829 백준 swift - for문 -1 (0) | 2021.08.30 |
---|---|
20210817~0825 swift full course (0) | 2021.08.26 |
20210812 split vs components 정리 (0) | 2021.08.12 |
20210811 백준 문제풀이 (입출력과 사칙연산2) (0) | 2021.08.12 |
20210810 - 백준 문제풀이 (입출력과 사칙연산1) (0) | 2021.08.11 |