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

3๏ธโƒฃ Swift/Problem Solving110

[Swift Algorithm] ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜ BOJ #10808 ๋ฌธ์ œ ์„ค๋ช… ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์•ŒํŒŒ๋ฒณ์ด ๋‹จ์–ด์— ๋ช‡ ๊ฐœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š์œผ๋ฉฐ, ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ถœ๋ ฅ ๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” a์˜ ๊ฐœ์ˆ˜, b์˜ ๊ฐœ์ˆ˜, …, z์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์ œ ์ž…๋ ฅ baekjoon ์ถœ๋ ฅ 1 1 0 0 1 0 0 0 0 1 1 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 ๋‚ด ๋ฌธ์ œ ํ’€์ด import Foundation let alphabet = Array("abcdefghijklmnopqrstuvwxyz") var result = Array(repeating: "0", count: 26) var inputS.. 2021. 7. 27.
[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 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.