본문 바로가기

 𝗔𝗣𝗣𝗟𝗘/ALGORITHM

[내일배움캠프] 데일리 루틴(iOS_3회차) - 문자열을 정수로 바꾸기

이미지를 클릭하면 코딩테스트 페이지로 이동합니다

 

내 풀이

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을 반환

Recent Posts
Visits
Today
Yesterday
Archives
Calendar
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31