Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- hackerrank
- RC
- 코딩테스트입문
- storekit2
- alamofire
- 카카오맵클론
- 클린코드
- algorithm
- five lines of cdde
- Swift코딩테스트
- IOS
- UIKit
- css학습
- AutoLayout
- firebase
- SWIFT
- 앱의생명주기
- unittest
- five lines of code
- TDD
- ios면접
- firestore
- 프로그래머스
- RxSwift
- ARC
- 리팩터링
- Di
- Safari Inspector
- mrc
- Swift디자인패턴
Archives
- Today
- Total
샘성의 iOS 개발 일지
[코딩테스트 입문] 진료 순서 정하기 본문
728x90
문제 설명:
외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.
내 풀이:
import Foundation
func solution(_ emergency:[Int]) -> [Int] {
// [응급도: 위급한순위] 형태의 딕셔너리 변수
var dic = [Int: Int]()
// 결과 변수
var result = [Int]()
// dic변수의 value에 들어갈 순서 변수
var value = 0
// 큰 순서대로 기존 배열 정렬 후 loop문 돌리기
for i in emergency.sorted(by: >) {
value += 1
// i에 대한 값으로 순서가 들어올 것 [75: 1, 36: 2] 이런식으로..
dic[i] = value
}
// 이제 원본을 갖고 loop문을 돌려서 원래 index 구해서 순서대로 result 배열에 넣기
for e in emergency {
result.append(dic[e]!)
}
return result
}
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
[코딩테스트 입문] 개미 군단 (0) | 2023.05.10 |
---|---|
[코딩테스트 입문] 순서쌍의 개수 (0) | 2023.05.09 |
[프로그래머스 입문] 배열 자르기 (0) | 2023.05.08 |
[코딩테스트 입문] 특정 문자 제거하기 (0) | 2023.05.06 |
[코딩테스트 입문] 문자 반복 출력하기 (0) | 2023.05.06 |