티스토리 뷰
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/120834
문제 사진
내 풀이
import Foundation
let ageKey: [Int: String] = [
0: "a",
1: "b",
2: "c",
3: "d",
4: "e",
5: "f",
6: "g",
7: "h",
8: "i",
9: "j"
]
func solution(_ age:Int) -> String {
var result: [String] = []
let digits: [Int] = String(age).compactMap { Int(String($0))}
for num in digits {
result.append(ageKey[num]!)
}
return result.joined()
}
solution(23) // "cd"
- Dictionary로 풀면 가능할것 같아 진행했다.[0: "a"] 이런식으로
- result라는 빈배열을 가진 변수를 만들고
- 23 → [2, 3] 으로 만들기
- 23 >> ["2", "3"] >> [2, 3] 으로 변환
let digits: [Int] = String(age).compactMap { Int(String($0))}
- digits의 각 요소들을 ageKey[num] 으로 접근하고 해당 값 result 배열에 append
// age가 23이라면 result는 위의 과정을 걸쳐 아래와 같이 되어있음
var result = ["c", "d"]
- joined()라는 메서드를 사용해 요소들을 다 합침
다른사람의 풀이
func solution(_ age:Int) -> String {
let alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
return String(age).map{alphabet[Int(String($0))!]}.joined()
}
가장 직관적이라고 생각했다.
age: Int → [Int] 형태로 만들어 이걸 alphabet의 인덱스로 사용 한점이 인상깊었다.
728x90
'알고리즘' 카테고리의 다른 글
[Swift 알고리즘] - 진료 순서 정하기 (Programmers) (0) | 2022.11.06 |
---|---|
[Swift 알고리즘] - 모스부호(1) (Programmers) (0) | 2022.11.04 |
[Swift 알고리즘] - 최댓값 구하기(2) (Programmers) (0) | 2022.10.28 |
[Swift 알고리즘] - 피자 나눠 먹기(2) (Programmers) (0) | 2022.10.27 |
[Swift 알고리즘] - 369게임 (Programmers) (0) | 2022.10.26 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Swift Leetcode
- Swift joined()
- swift 고차함수
- 2023년 회고
- Combine: Asynchronous Programming with Swift
- swift reduce
- Swift 프로퍼티
- Swift ModernRIBs
- Swift inout
- CS 네트워크
- Swift 프로그래머스
- RIBs tutorial
- ios
- Swift init
- swift programmers
- Swift
- iOS error
- Swift RIBs
- 원티드 프리온보딩
- RTCCameraVideoCapturer
- Swift final
- removeLast()
- Swift Error Handling
- Class
- Swift 알고리즘
- swift property
- swift protocol
- Swift joined
- swift (programmers)
- Swift 내림차순
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함