내 풀이
func solution(_ s:String) -> Int {
return Int(s)!
}
문자열 s를 숫자로 변환하고자 Int(s)를 사용했다. 여기서 Int(s)만을 사용했을 때 옵셔널 타입인 Int?를 반환하게 된다. 그래서 강제 언래핑 연산자인 !를 사용해 옵셔널 값을 강제로 언래핑하여 실제 정수 값을 얻을 수 있도록 하였다.
단, !를 사용하는 것은 주어진 문자열 s가 항상 유효한 정수를 나타내는 경우에만 올바르게 작동하기 때문에 만약 s가 정수로 변환할 수 없는 문자열이라면 강제 언래핑은 런타임 오류를 발생시킬 수 있으니 주의해야 한다. 또한, 안전한 코드 작성을 위해서는 옵셔널 바인딩 등을 활용하여 유효성 검사를 하고 적절하게 처리해야 한다.
유효성 검사란?
- 유효성 검사는 주어진 데이터가 프로그램에서 예상하는 형식이나 범위에 맞는지 확인하는 과정
- 문자열을 정수로 변환하는 경우와 같이 외부 입력을 처리할 때, 데이터의 유효성을 검사하는 것은 중요
* 유효성 검사의 종류는 데이터의 특성에 따라 다양하게 정의될 수 있음, 예를 들어 범위를 검사하거나 특정한 패턴을 확인하는 등의 작업이 포함될 수 있다. 중요한 것은 프로그램의 요구사항과 데이터의 특성을 고려하여 적절한 유효성 검사를 수행하는 것.
예시 (문자열을 정수로 변환하는 경우에 유효성을 검사하는 방법)
func solution(_ s: String) -> Int? {
// 문자열이 숫자로 이루어져 있는지 확인
guard let number = Int(s) else {
return nil // 숫자로 변환할 수 없는 경우 nil 반환
}
// 여기에 추가적인 유효성 검사를 수행할 수 있음
return number
}
- guard let number = Int(s)는 문자열 s를 정수로 변환
- 변환에 성공한 경우에는 number에 값을 할당
- 변환에 실패하면 else 블록이 실행되어 nil을 반환
' 𝗔𝗣𝗣𝗟𝗘 > ALGORITHM' 카테고리의 다른 글
[내일배움캠프] 데일리 루틴(iOS_3회차) - 정수 내림차순으로 배치하기 (0) | 2024.02.06 |
---|---|
[내일배움캠프] 데일리 루틴(iOS_3회차) - 정수 제곱근 판별 (0) | 2024.02.02 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 자연수 뒤집어 배열로 만들기 (0) | 2024.01.31 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 배열의 평균값 (0) | 2024.01.31 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 짝수의 합 (0) | 2024.01.31 |