문제
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
readLine이 String? 타입을 반환하기 때문에 강제 언래핑해서 코드 량을 줄일 수 있다
let readline = readLine()!
//그리고 Int 형변환까지 한번에 처리도 가능
let readline = Int(readLine()!)!
Int 형변환할때도 ?을 반환하나보다
readLine의 반환값은 String이라고 생각해서 value값을 언랩만 하니 컴파일에러가 나서
readLine()이 String?을 반환하는걸 앎
공부목적이니 흐름대로 풀어보고 오답의 이유를 찾아본다
출력
import Foundation
if let readValue = readLine() {
if let value = Int(readValue) {
if value >= 90 {
print("A")
} else if value >= 80 {
print("B")
} else if value >= 70 {
print("C")
} else if value >= 60 {
print("D")
} else {
print("F")
}
} else {
print("not Integer")
}
} else {
print("No input provided")
}
'알고리즘 > Swift' 카테고리의 다른 글
Swift) 백준 #2884 - 알람시계 (0) | 2023.11.29 |
---|---|
Swift) 백준#2753 - 윤년 (0) | 2023.11.21 |
Swift) 백준 #1330 - 두 수 비교하기 (0) | 2023.11.16 |
Swift) 백준 #10869 - 사칙연산 (0) | 2023.06.26 |
Swift) 백준 #1008 A/B (0) | 2023.06.19 |