์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 _ Swift] Day25 ๐Ÿ”บ ์ง„๋ฃŒ์ˆœ์„œ ์ •ํ•˜๊ธฐ (feat. Dictionary)

โŒจ๏ธ Cording Test/Programmers

by AHN.Jihyeon 2024. 5. 28. 09:43

๋ณธ๋ฌธ


 

๐Ÿ“„ ๋ฌธ์ œ 1.  ์ง„๋ฃŒ ์ˆœ์„œ ์ •ํ•˜๊ธฐ 

๐Ÿ”— ๋ฌธ์ œ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/120835

 

 

 

 

 

 

๐Ÿšซ ์˜ค๋ฅ˜ ๋ฐ ํ•ด๊ฒฐ

dic[i]์˜ ํƒ€์ž…์ด ์˜ต์…”๋„ํƒ€์ž…์ธ Int?์ด๋ฏ€๋กœ  ์˜ต์…”๋„์„ ๋ฒ—๊ฒจ์ค˜์•ผ ํ–ˆ๋‹ค. 

๊ฐ•์ œ ์ถ”์ถœ์ด ๊ฐ€๋Šฅํ•œ ์ด์œ ๋Š” emergency์˜ ์›์†Œ์˜ ๊ธธ์ด๊ฐ€

1์ด์ƒ์ด๊ธฐ ๋•Œ๋ฌธ์— nil์ผ ๊ฒฝ์šฐ๊ฐ€ ์—†์–ด ๋ณด์ธ๋‹ค. 

 

 

 

 

โœ…  ์ œ์ถœ ์ฝ”๋“œ

import Foundation

func solution(_ emergency:[Int]) -> [Int] {
    //์‘๊ธ‰๋„๊ฐ€ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ์ง„๋ฃŒ ์ˆœ์„œ ๋ฐฐ์—ด ๋ฆฌํ„ดํ•˜๋Š” ๋ฌธ์ œ 
    
    //๋ฐฐ์—ด์˜ key๋Š” emergency ๋ฐฐ์—ด์—์„œ ์›์†Œ 
    var dic: [Int : Int] = [:]
    
    //value๋Š” ์šฐ์„  ์ˆœ์œ„๋กœ + count๋กœ ์ˆœ์œ„ ๊ฒฐ์ •(์ˆซ์ž๊ฐ€ ์ž‘์„ ์ˆ˜๋ก ์šฐ์„  ์ˆœ์œ„) 
    var count = 1 
    
    //์‘๊ธ‰๋„๊ฐ€ ๋†’์€ ์ˆœ์„œ๋Œ€๋ฅผ ์ •ํ•œ ๋ฐฐ์—ด
    var result = [Int]() 
    
    //๋ฐฐ์—ด์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ sorted(by: >)
    for i in emergency.sorted(by: >) {
        dic[i] = count    //๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž๊ฐ€ count == 1
        count += 1        //๊ทธ๋‹ค์Œ ๋†’์€ ์ˆซ์ž count == 2 ....
    }
    
    for i in emergency {
        result.append(dic[i]!)
    }
    
    return result
}

 

 

 

 

 

๐Ÿ‘€  ๋‹ค๋ฅธ ํ’€์ด ๋ถ„์„

 

 

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ