Programmers
[👾 Programmers] 18. 문자열 정수로 바꾸기
솔비님
2024. 6. 23. 23:32
1. 문제 설명 (📎Link)
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
2. 제한사항
s의 길이는 1 이상 5이하입니다.
s의 맨앞에는 부호(+, -)가 올 수 있습니다.
s는 부호와 숫자로만 이루어져있습니다.
s는 "0"으로 시작하지 않습니다.
📝 문제
func solution(_ s:String) -> Int {
return 0
}
💻 내가 푼 방법(테스트 성공)
1) 오류 발생
func solution(_ s:String) -> Int {
var result = Int(s)
return result
}
→ result 가 Int? 타입이라 강제언래핑 시켜줘야 한다고 함


2) 수정
func solution(_ s:String) -> Int {
var result = Int(s)
return result!
}
🔎 의문점과 공부한 것
1. 강제언래핑 시 nil 값이 반환되면 런타임 오류가 발생할 수 있으므로 아래와 같이 처리하면 더 안전하다고 한다
1) 옵셔널 바인딩 설정
func solution(_ s:String) -> Int {
if let result = Int(s) {
return result
} else {
// 변환에 실패했을 때 적절한 기본값을 반환하거나 예외 처리를 할 수 있습니다.
return 0
}
}
2) 기본값 설정
func solution(_ s:String) -> Int {
let result = Int(s) ?? 0
return result
}