์•Œ๊ณ ๋ฆฌ์ฆ˜(programmers) 22

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์‹œ์ € ์•”ํ˜ธ

func solution(_ s:String, _ n:Int) -> String { let upperStr = Array("abcdefghijklmnopqrstuvwxyz".uppercased()) let lowerStr = Array("abcdefghijklmnopqrstuvwxyz") var result = "" for i in s { // ๋Œ€๋ฌธ์ž์— ํฌํ•จ๋œ ๊ฒฝ์šฐ if upperStr.contains(i) { var indexNum = (upperStr.firstIndex(of: i) ?? 0) + n if indexNum > 25 { indexNum = inde..

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด

func solution(_ s:String) -> String { var count = 0 var result = "" for letter in s { if letter == " " { count = -1 result += String(letter) } else if count % 2 == 0 { result.append(letter.uppercased()) } else { result.append(letter.lowercased()) } count += 1 } return result } solution("hello world") print(solution("hello world")) // HeLlO WoRlD ์˜ค.. 3~5์ ๋งŒ ์ฃผ๋”๋‹ˆ, ์ด์ œ 15์”ฉ ์ค€๋‹ค..!! ๊ณผ์ œ๋ž‘ ๋‹ค๋ฅธ ๊ณต๋ถ€ํ•˜๋Š๋ผ ๋ฏธ๋ค˜๋˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜..

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ฝœ๋ผ์ธ  ์ถ”์ธก

์ฃผ์–ด์ง„ ์ˆซ์ž๊ฐ€ 1์ธ ๊ฒฝ์šฐ 0 ๋ฐ˜ํ™˜, ์œ„ ๊ณผ์ •์„ 500๋ฒˆ ๋ฐ˜๋ณตํ•  ๋•Œ๊นŒ์ง€ 1์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, -1 ๋ฐ˜ํ™˜ ์กฐ๊ฑด๋„ ํฌํ•จํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— count ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ if ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค.โ˜บ๏ธ

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ฝœ๋ผ ๋ฌธ์ œ

n์€ ํ˜„์žฌ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ฝœ๋ผ์˜ ์ˆ˜, b๋Š” a๊ฐœ์˜ ๋นˆ ๋ณ‘์„ ๊ฐ€์ ธ์˜ค๋ฉด ๋Œ๋ ค์ฃผ๋Š” ์ฝœ๋ผ์˜ ์ˆ˜์ด๋‹ค. nowCoke๊ฐ€ a์ด์ƒ์ธ ๊ฒฝ์šฐ๊ฐ€ true์ผ ๋•Œ, while๋ฌธ์„ ๋Œ๋ ค์คฌ๋‹ค. ํ˜„์žฌ ์ฝœ๋ผ ์ˆ˜์—์„œ a๋ฅผ ๋‚˜๋ˆˆ ๋ชซ์— b๋ฅผ ๊ณฑํ•ด์ฃผ๋ฉด, ํ˜„์žฌ ๋งˆํŠธ์— ๋นˆ ๋ณ‘์„ ๊ฐ€์ ธ๊ฐ€์„œ ๋Œ๋ ค๋ฐ›๋Š” ์ฝœ๋ผ ์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ด ์ฝœ๋ผ ์ˆ˜๋ฅผ totalCokeCount์— ๋”ํ•ด์ฃผ์—ˆ๋‹ค. ํ˜„์žฌ ์ฝœ๋ผ ์ˆ˜์—์„œ a๋ฅผ ๋‚˜๋ˆˆ ๋ชซ์— a๋ฅผ ๊ณฑํ•ด์ฃผ๋ฉด, ๋งˆํŠธ๊ฐ€ ๊ฐ€์ง€๊ณ  ๊ฐ„ ๋นˆ ๋ณ‘์˜ ์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค. nowCoke์— ์ด ๋นˆ ๋ณ‘์˜ ์ˆ˜๋ฅผ ๋นผ์ฃผ๊ณ , ๋Œ๋ ค๋ฐ›์€ ์ฝœ๋ผ ์ˆ˜๋ฅผ ๋”ํ•ด์ฃผ๋ฉด, (๊ตํ™˜ํ•˜์ง€ ์•Š์€ ๋‚˜์˜ ์ฝœ๋ผ + ๋งˆํŠธ์—์„œ ๋Œ๋ ค๋ฐ›์€ ์ฝœ๋ผ)๊ฐ€ ๋œ๋‹ค. ์ด nowCoke๊ฐ€ a๋ณด๋‹ค ์ž‘์•„์งˆ ๋•Œ๊นŒ์ง€ ๊ณ„์† while๋ฌธ์„ ๋Œ๋ฆฌ๊ฒŒ ๋˜๋ฉด, totalCokeCount์— ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ด ์ฝœ๋ผ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.

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

String(n)์„ ํ•˜๋ฉด, ["1", "1", "8", "2", "7", "2"] ์ด๋ ‡๊ฒŒ [String.Element] ํƒ€์ž…์ด ๋œ๋‹ค. .sorted(by: >)๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์„ ํ•ด์ฃผ๊ณ , ๋‹ค์‹œ String์œผ๋กœ ๊ฐ์‹ธ์ฃผ๋ฉด, ๋‚ด๋ฆผ์ฐจ์ˆœ๋œ String ํƒ€์ž…์ด ๋œ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฆฌํ„ด๊ฐ’์ด Int64์ด์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋‹ค์‹œ Int64๋กœ ๊ฐ์‹ธ์„œ ๋ณ€ํ™˜ํ•ด์ฃผ๋ฉด ์˜ต์…”๋„ Int64 ํƒ€์ž…์ด ๋œ๋‹ค. Int64(String(String(n).sorted(by: >)))! ์ด๋ ‡๊ฒŒ ๊ฐ•์ œ๋กœ unwrapping ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, guard๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ unwrapping ํ•ด์ฃผ์—ˆ๋‹ค.