๋ชฉ๋ก์•Œ๊ณ ๋ฆฌ์ฆ˜ (25)

Focus On Develop ๐ŸคŸ๐ŸคŸ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํฐ ์ˆ˜ ๋งŒ๋“ค๊ธฐ

์‹œ๋„๋Š”.. ํฐ ์ˆ˜๊ฐ€ ์•ž์— ์˜ฌ์ˆ˜๋ก ์ข‹์€๊ฒƒ์ด์—ฌ! ์ข‹์€๊ฒŒ ์ข‹์€๊ฒƒ์ด์—ฌ! ๐Ÿ‘ ๋ผ๋Š” ํŒ๋‹จ์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค. k๊ฐœ๋ฅผ ์ง€์šด๋‹ค๋Š” ๊ฒƒ์€ ๊ฒฐ๊ณผ๋ฅผ number.count - k ์ž๋ฆฌ ์ˆ˜๋กœ ๋งŒ๋“ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฃผ์–ด์ง„ number์—์„œ ๋“ฑ์žฅํ•˜๋Š” ์ˆซ์ž๋ฅผ Set์œผ๋กœ ์ค‘๋ณต์ œ๊ฑฐํ•œ ํ›„์— ์ •๋ ฌํ•œ๋‹ค๋ฉด, ๋“ฑ์žฅํ•˜๋Š” ์ˆซ์ž๋“ค์—์„œ ํฐ์ˆ˜๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿผ ๊ฐ€์žฅ ํฐ ์ˆ˜๊ฐ€ number์—์„œ ๋“ฑ์žฅํ•˜๋Š” ์ฒซ๋ฒˆ์งธ index๋ฅผ ์ฐพ๊ณ , ์ด ๊ฐ’์ด ๊ฒฐ๊ณผ๊ฐ’์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์„๊นŒ? (๊ฒฐ๊ณผ๊ฐ’์˜ ๋‚จ์€ ์ž๋ฆฌ์ˆ˜๋ณด๋‹ค number์—์„œ ์ด๊ฐ’ ๋’ค์— ๋‚จ์€ ์ˆซ์ž์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋งŽ์•„์•ผํ•จ)๋ฅผ ์ฒดํฌํ•œ ๋’ค์—.. ํ•˜๋‚˜์”ฉ ๋„ฃ์–ด์ฃผ๋ฉด ๋˜๊ฒ ๊ตฐ! ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉํ•œ ๊ฐ€์žฅ ํฐ ์ˆ˜์™€, number์—์„œ ์ฒ˜์Œ~ํฐ์ˆ˜๊ฐ€ ์กด์žฌํ–ˆ๋˜ ์ธ๋ฑ์Šค๊นŒ์ง€๋ฅผ ์‚ญ์ œํ•ด์ค€๋‹ค.(์ด์ „๊ฐ’์€ ํ•„์š”๋„ ์—†์„๋ฟ๋”๋Ÿฌ ํƒ์ƒ‰ ์‹œ๊ฐ„๋งŒ ๋Šฆ์ถค ใ…‹ใ…‹ ) ์˜ˆ๋ฅผ๋“ค์–ด์„œ.. "..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‚ฌํŠธ๋ฆฌ

๋จผ์ € ์ƒ๊ฐํ•ด๋ณธ๊ฑด, skill์˜ ๊ฐ ์Šคํ‚ฌ ์‚ฌ์ด์‚ฌ์ด์— ์•„๋ฌด๊ฐ’์ด๋‚˜ ๋“ค์–ด๊ฐ€๋„ ์ƒ๊ด€์—†๋Š” ๋น„๊ต์ž๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋‹ค. (%C%B%D%).. ์ด๋ ‡๊ฒŒ๋งŒ ๋น„๊ต์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉด skill trees๋ฅผ ๋น„๊ตํ•ด๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™์€..? ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ๋ชจ๋ฆ„ ใ…‹ ๊ทธ๋ž˜์„œ ํƒํ•œ ๋ฐฉ๋ฒ•์€.. skill trees๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณด๋ฉด์„œ.. ์ •ํ•ด์ง„ ์„ ํ–‰ skill์„ ๋ฐฐ์šฐ๊ณ  ํ•˜๋Š”๊ฑฐ๋ƒ? ํ•˜๊ณ  ๋ฌผ์–ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. (๋จผ์ € ์„ ํ–‰์Šคํ‚ฌ์— ํฌํ•จ๋œ ์Šคํ‚ฌ์ธ์ง€? ๋‹ค์Œ์€ ์•ž์— ์„ ํ–‰์Šคํ‚ฌ์€ ๋‹ค ๋ฐฐ์› ๋Š”์ง€?) ๋งŒ์•ฝ ์„ ํ–‰์Šคํ‚ฌ๊ณผ ์ƒ๊ด€์—†๋Š” ์Šคํ‚ฌ์ด๋ผ๋ฉด ํ•™์Šต ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ  pass ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. import Foundation func solution(_ skill:String, _ skill_trees:[String]) -> Int { var res ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜ˆ์‚ฐ

์Œ.. ๋ณดํ†ต ์ด๋ ‡๊ฒŒ ์ƒ๊ธด ๋ฌธ์ œ๋Š” DP(Dynamic Programming) ์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ.. ๐Ÿ˜ญ (์ž˜ ๊ธฐ์–ต์ด..) ์•”ํŠผ ์–ด๋ ค์šด DP.. ํ•„์š” ์˜ˆ์‚ฐ์ด ์ ์€ ๋ถ€์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ง€์›๊ธˆ์„ ์ฃผ๊ฒŒ ๋˜๋ฉด ์ œ์ผ ๋งŽ์€ ๋ถ€์„œ์˜ '์ˆ˜'๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์€ ์ƒ์‹์ ์ธ ๋…ผ๋ฆฌ์ธ๋ฐ.. ๊ทธ๋ ‡๊ฒŒ ํ–ˆ์„๋•Œ ์˜ˆ์™ธ ์ผ€์ด์Šค๊ฐ€ ์žˆ์„์ง€ ํ•œ์ฐธ์„ ๊ณ ๋ฏผํ•œ ๊ฒƒ ๊ฐ™๋‹ค. (๊ทธ๋Ÿผ DPํ–‰....๐Ÿ˜” ๐Ÿ˜”) ๊ทผ๋ฐ ๋”ฑํžˆ ์˜ˆ์™ธ์ผ€์ด์Šค๊ฐ€ ์ƒ๊ฐ์ด ์•ˆ๋‚˜์„œ..? ์ผ๋‹จ ์ •๋ ฌํ•ด์„œ ์˜ˆ์‚ฐ์ด ์ ์€ ์ˆœ์„œ๋Œ€๋กœ ํ•œ๋ฒˆ ์ง€์›ํ•ด๋ณด๊ธฐ๋กœ ํ•˜๊ณ , ์˜ˆ์‚ฐ์„ ๋‹ค์“ฐ๋ฉด ๋’ท ๋ถ€์„œ๋Š” ๋ณด์ง€๋„ ์•Š๋Š”๊ฑธ๋กœ.. ํ’€๋Ÿฌ ๊ณ ๊ณ ์‹ฑ ใ…‹ใ…‹ import Foundation func solution(_ d:[Int], _ budget:Int) -> Int { let array = d.sorted() var result = 0 var curB..

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

์ผ๋‹จ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋Š” ASCII์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ, s๋ฅผ ๋Œ€/์†Œ๋ฌธ์ž ๋ฒ”์œ„์— ๋”ฐ๋ผ ์ฒดํฌํ•˜๋Š” ๊ฒƒ๋„ ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ผ ๋“ฏ ํ•œ๋ฐ.. (๋‚˜๋Š” ASCII์ฝ”๋“œ๋ฅผ ์‚ฌ์‹ค ์ž˜ ๋ชจ๋ฆ„ ใ…‹) ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋Š” ์–ด์ฐจํ”ผ ์•Œ๊ณ  ์žˆ๋Š” ๊ฑฐ๋‹ˆ๊นŒ ์ฐจ๋ผ๋ฆฌ ์•ŒํŒŒ๋ฒณ์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด๋†“๊ณ , s์˜ ๋ฌธ์ž๋“ค์„ ์ฒดํฌํ•˜๋ฉด์„œ ์ •์˜ํ•ด๋‘” ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž์—์„œ n๋งŒํผ ๋’ค์— ์žˆ๋Š” ๋ฌธ์ž๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฑธ๋กœ ํ’€์–ด์•ผ๊ฒ ๋‹ค. z๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด Out of Index๋‹ˆ๊นŒ.. ์›ํ˜•๋ฐฐ์—ด์ฒ˜๋Ÿผ % ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ Index๋ฅผ ์ฐพ์•„์•ผ๊ฒ ๋‹ค. let alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" let lowerAlpha = alpha.lowercased() let arrayAlpha = Array(alpha) let arrayLowerAlpha = Array(lowerAlpha) f..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ๋‚ด p์™€ y์˜ ๊ฐœ์ˆ˜

๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์—†์ด p์™€ y๋ฅผ ์ฐพ์•„์•ผ ํ•˜๋ฏ€๋กœ, s๋ฅผ ์†Œ๋ฌธ์ž๋‚˜ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•œ ํ›„์— ์นด์šดํŠธ๋ฅผ ํ•˜๋ฉด ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋‹ค! func solution(_ s:String) -> Bool { let string = s.lowercased() let pCnt = string.filter { $0 == "p" }.count let yCnt = string.filter { $0 == "y" }.count return pCnt == yCnt } ์‚ฌ์‹ค ๋‚˜๋Š” ํ•œ์ค„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋„ ์ด๋ ‡๊ฒŒ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์ต์ˆ™ํ•ด์ ธ์žˆ๋‹ค.(์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๊ณ ๋ คํ–ˆ์„๋•Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์—์„œ ๋ณ€์ˆ˜ ์„ ์–ธ์€ ์ตœ์†Œ๋กœ ํ•˜๋Š”๊ฒŒ ์ข‹๊ธด ํ•˜๊ฒ ๋‹ค.) ์—…๋ฌด๋ฅผ ํ•˜๋‹ค๊ฐ€ ์Šต๊ด€์ด ๋˜๋ฒ„๋ฆฐ.. ๐Ÿ˜ญ ๐Ÿ˜ญ ์•„๋ฌดํŠผ ์ด๋ ‡๊ฒŒ ํ’€๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ดค๋Š”๋ฐ, S..

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

์ด๋ฒˆ์—๋Š” ๋˜ ํ›„ํšŒํ•˜์ง€ ๋ง๊ณ  filter๋ฅผ ์ ๊ทน ํ™œ์šฉํ•ด์•ผ๊ฒ ๋‹ค!! (๋‚œ์ด๋„ ๋งค์šฐ ์‰ฌ์šด ๋ฌธ์ œ๋ฅผ ๋ณด๋‹ˆ ๋ฐ”๋กœ ๋– ์˜ค๋ฅด๋Š”๊ตฐ ใ…‹ใ…‹ ๐Ÿ‘๐Ÿ‘) returnํ•˜๋Š” ๋ฐฐ์—ด์ด ์ •๋ ฌ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ •๋ ฌ ์‹œ์ ์€ filter๋ฅผ ํ•˜๊ธฐ ์ „/ํ›„ ๋ฌด๊ด€ํ•  ๋“ฏ ํ•˜๋‹ค. func solution(_ arr:[Int], _ divisor:Int) -> [Int] { let divided = arr.filter { $0 % divisor == 0 }.sorted() return divided.count != 0 ? divided : [-1] } ์•„๋งˆ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ ํ’€๊ธฐ ์‹œ์ž‘ํ•œ ์ดํ›„๋กœ ์ œ์ผ ๋‹จ์‹œ๊ฐ„์— ํ’€์€ ๋ฌธ์ œ์ธ๋“ฏ..!? ใ…‹ใ…‹ ๋„ˆ๋ฌด ์‰ฌ์šด๊ฑฐ ์ฐพ์•„ํ‘ธ๋Š” ๋Š๋‚Œ์ด๋ผ ์˜ค๋Š˜์€ ๋ช‡๊ฐœ ๋” ํ’€์–ด์•ผ๊ฒ ๋‹ค ๐Ÿ˜‚ ๐Ÿ˜‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์‚ฌ์šฉ๋œ filter๊ฐ€ ๊ถ๊ธˆํ•˜๋‹ค๋ฉด?? ๐Ÿ‘‰ 2020/12..