[문제]
코딩테스트 연습 - 문자열을 정수로 바꾸기 | 프로그래머스 스쿨 (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
}