알고리즘 - 프로그래머스 문자열을 정수로 바꾸기 (Swift)
2020. 7. 2. 10:54ㆍAlgorism
반응형
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.제한 조건
- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져있습니다.
- s는 0으로 시작하지 않습니다.
문자열을 정수로 바꾸기 네 기본 함수가 지원을 해주니 문제를 통과하기에는 다른 문제 보다는 간편합니다.
그래도 한번 내부적으로 어떻게 변형이 되는지 확인은 해봐야 할 것 같네요.
func solution(_ s:String) -> Int {
return Int(s)!
}
위의 코드에 +, -연산자만 들어갈 경우에는 에러가 나오지 조금더 코드양은 많아지지만
안전하게 코드를 작성한다면 아래 처럼 nil && 카운트 체크를 해주고
+, - 연산자에 대해서 모두 제거를 해준뒤 문자열을 정수로 바꾸어 반환해주는 방법도 있겠지만 조건에 따라서
알맞게 작성 하면 될 것 같아요. (저도.. 아직 공부중이라 정확 하지 않습니다.)
func solution(_ s:String) -> Int {
var resultString = s
var resultInt:Int = 0
if Array(s).count <= 0 {
return 0
}
if Array(s)[0] == "+" {
resultString.remove(at: resultString.startIndex)
resultInt = Int(resultString) ?? 0
} else if Array(s)[0] == "-" {
resultString.remove(at: resultString.startIndex)
resultInt -= Int(resultString) ?? 0
} else {
resultInt = Int(resultString) ?? 0
}
return resultInt
}
반응형
'Algorism' 카테고리의 다른 글
알고리즘 - 프로그래머스 정수 내림차순으로 배치하기 (Swift) (0) | 2020.07.02 |
---|---|
알고리즘 - 프로그래머스 자릿수 더하기 (Swift) (0) | 2020.07.02 |
알고리즘 - 프로그래머스 약수의 합 (Swift) (0) | 2020.07.02 |
알고리즘 - 프로그래머스 소수찾기 (Swift) (0) | 2020.07.01 |
알고리즘 - 프로그래머스 문자열 다루기 기본 (Swift) (0) | 2020.07.01 |