MUKER_DEV with iOS

[swift] λ°±μ€€ - 10610번: 30 λ³Έλ¬Έ

πŸ€– μ•Œκ³ λ¦¬μ¦˜/BAEKJOON

[swift] λ°±μ€€ - 10610번: 30

MUKER 2023. 1. 28. 20:10
 

10610번: 30

μ–΄λŠ λ‚ , λ―Έλ₯΄μ½”λŠ” μš°μ—°νžˆ κΈΈκ±°λ¦¬μ—μ„œ μ–‘μˆ˜ N을 λ³΄μ•˜λ‹€. λ―Έλ₯΄μ½”λŠ” 30μ΄λž€ 수λ₯Ό μ‘΄κ²½ν•˜κΈ° λ•Œλ¬Έμ—, κ·ΈλŠ” κΈΈκ±°λ¦¬μ—μ„œ 찾은 μˆ˜μ— ν¬ν•¨λœ μˆ«μžλ“€μ„ μ„žμ–΄ 30의 λ°°μˆ˜κ°€ λ˜λŠ” κ°€μž₯ 큰 수λ₯Ό λ§Œλ“€κ³  μ‹Άμ–΄ν•œ

www.acmicpc.net

 

문제 ν‘ΈλŠ” 데 μžˆμ–΄ 도움이 λ˜λ„λ‘ λ‚˜μ˜ 풀이와 κ°œμ„ λœ 풀이λ₯Ό μ˜¬λ¦½λ‹ˆλ‹€.
λ˜ν•œ 풀이 ν›„ λ‹€λ₯Έ μ‚¬λžŒμ˜ 풀이λ₯Ό 보고 μ°Έκ³ ν• λ§Œν•œ 풀이도 μ˜¬λ¦½λ‹ˆλ‹€.

- λ¬Έμ œμ— 따라 λ‚˜μ˜ ν’€μ΄λ§Œ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
- ν•΄λ‹Ή 풀이듀은 풀이 쀑 ν•˜λ‚˜μΌ 뿐 μ΅œμ„ μ˜ ν’€μ΄λŠ” 아닐 수 μžˆμŠ΅λ‹ˆλ‹€.

 


 

문제 μ„€λͺ…

 

μž…λ ₯λ˜λŠ” 값이 30의 배수라면

제일 큰 값을 좜λ ₯ν•˜κ³ 

30의 λ°°μˆ˜κ°€ μ•„λ‹ˆλΌλ©΄

-1을 좜λ ₯ν•œλ‹€.

 

30의 배수 μ‘°κ±΄μœΌλ‘œλŠ”

λμžλ¦¬κ°€ 0이 λ˜μ–΄μ•Ό ν•˜κ³ 

λͺ¨λ“  자릿수의 μˆ«μžλ“€μ„ λ”ν–ˆμ„ λ•Œ

3의 λ°°μˆ˜κ°€ λ©λ‹ˆλ‹€.

 


 

λ‚˜μ˜ 풀이

let arrayInput = Array(readLine()!).sorted(by: >)
arrayInput.last == "0" && arrayInput.reduce(0, { $0 + Int(String($1))! }) % 3 == 0 ? print(String(arrayInput)) : print(-1)

 

String을 Array둜 감싸면

Character둜 λ‚˜λˆ  λ°°μ—΄λ‘œ λ¦¬ν„΄ν•΄μ€λ‹ˆλ‹€.

 

거꾸둜

character배열을 String으둜 감싼닀면

ν•˜λ‚˜μ˜ String으둜 λ¦¬ν„΄ν•΄μ€λ‹ˆλ‹€.