일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DispatchQueue
- Firestore CRUD
- 알고리즘
- RxSwift
- Figma
- Encodable
- String.Index
- Cloud Firestore
- MongoDB
- components
- mongoose
- UIRefreshController
- Reduce
- SWiFT
- CRUD
- ExpressJS
- Firestore
- Core Data
- Decodable
- Mac
- Filter
- 진법변환
- nodejs
- 앱디자인
- map
- ios
- Codable
- 앱만들기
- AVAudioPlayer
- 프로그래머스
Archives
- Today
- Total
Focus On Develop 🤟🤟
[프로그래머스] 문자열을 정수로 바꾸기 본문
<문제>
<전략짜기>
String -> Int로 Casting시 문자가 포함되어 있으면 Casting이 안되니, 첫번째 문자를 확인해서 +, - 여부에 따라 분기처리 해주고 +,-에 해당되는 문자는 날리고 숫자로 Casting을 해주면 될 것 같다.
<코드>
func solution(_ s:String) -> Int {
var s = s
if s[s.startIndex] == "+" {
s.remove(at: s.startIndex)
return Int(s)!
} else if s[s.startIndex] == "-" {
s.remove(at: s.startIndex)
return -Int(s)!
} else {
return Int(s)!
}
}
<Lesson Learned>
지난번에 Swift로 알고리즘 문제를 풀면서, String -> Int로 Casting시 Optional인 이유가, String에 숫자가 아닌 문자가 들어있을 수 있어서.. 그럴 경우엔 Casting이 안되니까 Optional이라고 공부했었다..ㅎ 물론 이 부분은 변함이 없는 것은 맞는데, 오늘 새로 알게된 점은 String -> Int로 Casting시 '-', '+' 도 부호문자로, 숫자로 취급 가능해서 Casting에 성공한다는 것이다.. 즉.. 내 풀이의 +, - 분기처리 한 것은 전혀 필요 없었다는 뜻이기도 하다 😂😂
func solution(_ s:String) -> Int {
return Int(s)!
}
알고리즘에서 사용된 String.Index가 궁금하다면?? 👉 2020/12/17 - [iOS [Swift]/기초를 탄탄히!] - [Swift] String.Index
출저 : 프로그래머스 문자열을 정수로 바꾸기
'iOS [Swift] > 알고리즘' 카테고리의 다른 글
[프로그래머스] 예산 (0) | 2020.12.21 |
---|---|
[프로그래머스] 시저 암호 (0) | 2020.12.21 |
[프로그래머스] 문자열 내 p와 y의 개수 (0) | 2020.12.18 |
[프로그래머스] 두 정수 사이의 합 (0) | 2020.12.18 |
[프로그래머스] 나누어 떨어지는 숫자 배열 (0) | 2020.12.18 |
Comments