๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

3๏ธโƒฃ Swift130

[Swift Algorithm] ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• ์ฐพ๊ธฐ Programmers(Lv.2) ๋ฌธ์ œ ์„ค๋ช… 1์™€ 0๋กœ ์ฑ„์›Œ์ง„ ํ‘œ(board)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ 1์นธ์€ 1 x 1 ์˜ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์—์„œ 1๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์„ ์ฐพ์•„ ๋„“์ด๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. (๋‹จ, ์ •์‚ฌ๊ฐํ˜•์ด๋ž€ ์ถ•์— ํ‰ํ–‰ํ•œ ์ •์‚ฌ๊ฐํ˜•์„ ๋งํ•ฉ๋‹ˆ๋‹ค.) ์˜ˆ๋ฅผ ๋“ค์–ด 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์€ 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 ๊ฐ€ ๋˜๋ฉฐ ๋„“์ด๋Š” 9๊ฐ€ ๋˜๋ฏ€๋กœ 9๋ฅผ ๋ฐ˜ํ™˜ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด ํ‘œ(board)๋Š” 2์ฐจ์› ๋ฐฐ์—ด๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ํ‘œ(board)์˜ ํ–‰(row)์˜ ํฌ๊ธฐ : 1,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ํ‘œ(board)์˜ ์—ด(column)์˜ ํฌ๊ธฐ : 1,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ํ‘œ(board)์˜ ๊ฐ’์€ 1๋˜.. 2021. 7. 20.
[Swift] ๋ฐฐ์—ด ๊ด€๋ จ ํ•จ์ˆ˜ ์ด์ •๋ฆฌ! ์Šค์œ„ํ”„ํŠธ๋Š” ์—†๋Š” ํ•จ์ˆ˜๊ฐ€ ์—†๋‹ค,, ํ•จ์ˆ˜๋“ค์„ ์ž˜ ์ˆ™์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉด ๋„ˆ๋ฌด ํŽธํ•˜๋‹ค ์ •๋ง๋ฃจ ๋”ฐ๋ผ์„œ ์˜ค๋Š˜๋ถ€ํ„ฐ ํ•จ์ˆ˜๋“ค์„ ๋ณด๊ธฐ์ข‹๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ตฌํ•œ๋‹ค. ์ƒ๊ฐ๋‚˜๋Š”๋Œ€๋กœ ๊ณ„์† ์ถ”๊ฐ€ํ•  ์˜ˆ์ •! (์—ฌ๊ธฐ์—” ํ•จ์ˆ˜๋“ค์„ ๋ชจ๋‘ ๊ธฐ๋กํ•˜๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ํ•จ์ˆ˜๋ณ„ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋”ฐ๋กœ ๊ธ€์„ ์—…๋กœ๋“œํ•˜๊ฒ ๋‹ค.) ๐Ÿ“Œ ์ •๋ ฌ ๐Ÿ‘‰ sorted, sort, reverse var arr1 = [1, 2, 5, 4, 3] var arr2 = [1, 2, 5, 4, 3] var arr3 = [1, 2, 5, 4, 3] arr1.sorted() // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ (์˜ค๋ฆ„์ฐจ์ˆœ์ด default๋ผ์„œ ๋นˆ ๊ด„ํ˜ธ ๊ฐ€๋Šฅ) arr1.sorted(by: ) // ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ arr2.sorted(){$0 > $1} // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ arr2.sorted{$0 > $1} // ์˜ค๋ฆ„์ฐจ์ˆœ .. 2021. 7. 15.
[Swift Algorithm] ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ Programmers(Lv.2) ๋ฌธ์ œ ์„ค๋ช… ๊ด„ํ˜ธ๊ฐ€ ๋ฐ”๋ฅด๊ฒŒ ์ง์ง€์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์€ '(' ๋ฌธ์ž๋กœ ์—ด๋ ธ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์ง์ง€์–ด์„œ ')' ๋ฌธ์ž๋กœ ๋‹ซํ˜€์•ผ ํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "()()" ๋˜๋Š” "(())()" ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค. ")()(" ๋˜๋Š” "(()(" ๋Š” ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์ž…๋‹ˆ๋‹ค. '(' ๋˜๋Š” ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฌธ์ž์—ด s๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์ด๋ฉด true๋ฅผ return ํ•˜๊ณ , ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ด„ํ˜ธ์ด๋ฉด false๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด : 100,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ๋ฌธ์ž์—ด s๋Š” '(' ๋˜๋Š” ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ s answer "()()" true "(())()" true ")()(" false "(()(" false ๋‚ด ๋ฌธ์ œ ํ’€.. 2021. 7. 8.
[Swift Algorithm] ๋‹ค์Œ ํฐ ์ˆซ์ž Programmers(Lv.2) ๋ฌธ์ œ ์„ค๋ช… ์ž์—ฐ์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด 1. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” n๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์กฐ๊ฑด 2. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž์™€ n์€ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ–ˆ์„ ๋•Œ 1์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์กฐ๊ฑด 3. n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” ์กฐ๊ฑด 1, 2๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 78(1001110)์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋Š” 83(1010011)์ž…๋‹ˆ๋‹ค. ์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n์˜ ๋‹ค์Œ ํฐ ์ˆซ์ž๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด n์€ 1,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n result 78 83 15 23 ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution(_ n:Int) -> Int { let binaryNum =.. 2021. 7. 8.
[Swift Algorithm] ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ Programmers(Lv.2) ๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ž์—ด s์—๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์ˆซ์ž๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. str์— ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž ์ค‘ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ์•„ ์ด๋ฅผ "(์ตœ์†Œ๊ฐ’) (์ตœ๋Œ€๊ฐ’)"ํ˜•ํƒœ์˜ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด s๊ฐ€ "1 2 3 4"๋ผ๋ฉด "1 4"๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ , "-1 -2 -3 -4"๋ผ๋ฉด "-4 -1"์„ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด s์—๋Š” ๋‘˜ ์ด์ƒ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution(_ s:String) -> String { let arr = s.components(separatedBy: " ").map{Int($0)!} return.. 2021. 7. 8.