새소식

코딩테스트/프로그래머스

[Swift] 문자열을 정수로 바꾸기

  • -

[문제]

코딩테스트 연습 - 문자열을 정수로 바꾸기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

[문제 풀이]

처음에 부호가 - 이거나 + 라면 해당 문자열을 음수나 양수로 반환하는 문제이다.

1. index 1부터 마지막까지를 Range로 만들어서 substring으로 만들어 주고 처음이 + 라면 해당 숫자를 - 라면 * -1 을 아니라면 그냥 S 문자열을 반환해주자.

 

2. Swift는 문자열을 Int로 바꿀때 -나 +까지 포함해서 음수인지 정수인지 판별해 줄 수 있다. 그냥 Int(s)!로 반환하자.

[회고]

Swift에서 substring을 쓸때마다 느끼는데 왜 이렇게 불편하게 만든건지 모르겠다.

index를 만들고 해당 범위로 String으로 만들어줘야 하는데 좀 많이 불편한 과정인것 같다.

[코드]

1. 인덱스를 직접 구해서 substring 해주기.

func solution(_ s:String) -> Int {
    var answer: Int = 0
    
    var startRange = s.index(after: s.startIndex)
    var endRange = s.index(before: s.endIndex)
    var str = String(s[startRange...endRange])

    if s[s.startIndex] == "+" {
        answer = Int(str)!
    }
    else if s[s.startIndex] == "-" {
        answer = Int(str)!
        answer *= -1
    }
    else {
        answer = Int(s)!
    }
    
    return answer
}

 

2. 그냥 반환해주기.

func solution(_ s:String) -> Int {
    var answer: Int = 0
    
    answer = Int(s)!
    
    return answer
}

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.