๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ Swift

by Fomagran ๐Ÿ’ป 2020. 2. 28.
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ์„ค๋ช…

ํ•จ์ˆ˜ solution์€ ์ •์ˆ˜ n์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ž…๋ ฅ๋ฐ›์Šต๋‹ˆ๋‹ค. n์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ํฐ๊ฒƒ๋ถ€ํ„ฐ ์ž‘์€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ์ƒˆ๋กœ์šด ์ •์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด n์ด 118372๋ฉด 873211์„ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ œํ•œ ์กฐ๊ฑด

  • n์€ 1์ด์ƒ 8000000000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

n return
118372 873211

ํ’€์ด:n์„ String์œผ๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค map์œผ๋กœ ๊ฐ ๊ฐ์˜ ๋ฌธ์ž๋“ค์„ Stringํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐฐ์—ด์— ๋‹ด์€ ๋’ค sorted(by:>)๋กœ ์—ญ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•จ.

(reversed๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด for๋ฌธ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค.) ๊ทธ๋ฆฌ๊ณ  ํฌ๋ฌธ์œผ๋กœ n์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณตํ•ด์ฃผ๊ณ  answer์— ์ฐจ๋ก€๋Œ€๋กœ ๋”ํ•ด์ค€ ๋’ค Int64๋กœ ํ˜•๋ณ€ํ™˜ํ•ด์„œ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.

1
2
3
4
5
6
7
8
func solution(_ n:Int64) -> Int64 {
    let array = String(n).map{String($0)}.sorted(by:>)
    var answer = String()
    for i in 0..<array.count{
        answer += array[i]
    }
    return Int64(answer)!
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

๋‹ค๋ฅธ์‚ฌ๋žŒ ํ’€์ด ์ค‘ ๊ฐ€์žฅ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ

Array์ž์ฒด์— String์œผ๋กœ ๋ฐ”๊พผ n์„ ๋„ฃ์€ ๋‹ค์Œ์— sorted๋กœ ์—ญ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๋ฉด ๋œ๋‹ค.

1
2
3
func solution(_ n:Int64) -> Int64 {
    return Int64(String(Array(String(n)).sorted { $0 > $1 }))!
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€