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

3๏ธโƒฃ Swift/Problem Solving110

[Swift Algorithm] ํ”„๋ฆฐํ„ฐ Programmers(Lv.2) ๋ฌธ์ œ ์„ค๋ช… ์ผ๋ฐ˜์ ์ธ ํ”„๋ฆฐํ„ฐ๋Š” ์ธ์‡„ ์š”์ฒญ์ด ๋“ค์–ด์˜จ ์ˆœ์„œ๋Œ€๋กœ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•œ ๋ฌธ์„œ๊ฐ€ ๋‚˜์ค‘์— ์ธ์‡„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ค‘์š”๋„๊ฐ€ ๋†’์€ ๋ฌธ์„œ๋ฅผ ๋จผ์ € ์ธ์‡„ํ•˜๋Š” ํ”„๋ฆฐํ„ฐ๋ฅผ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒˆ๋กญ๊ฒŒ ๊ฐœ๋ฐœํ•œ ํ”„๋ฆฐํ„ฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ธ์‡„ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 1. ์ธ์‡„ ๋Œ€๊ธฐ๋ชฉ๋ก์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๋ฌธ์„œ(J)๋ฅผ ๋Œ€๊ธฐ๋ชฉ๋ก์—์„œ ๊บผ๋ƒ…๋‹ˆ๋‹ค. 2. ๋‚˜๋จธ์ง€ ์ธ์‡„ ๋Œ€๊ธฐ๋ชฉ๋ก์—์„œ J๋ณด๋‹ค ์ค‘์š”๋„๊ฐ€ ๋†’์€ ๋ฌธ์„œ๊ฐ€ ํ•œ ๊ฐœ๋ผ๋„ ์กด์žฌํ•˜๋ฉด J๋ฅผ ๋Œ€๊ธฐ๋ชฉ๋ก์˜ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋„ฃ์Šต๋‹ˆ๋‹ค. 3. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด J๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 4๊ฐœ์˜ ๋ฌธ์„œ(A, B, C, D)๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ธ์‡„ ๋Œ€๊ธฐ๋ชฉ๋ก์— ์žˆ๊ณ  ์ค‘์š”๋„๊ฐ€ 2 1 3 2 ๋ผ๋ฉด C D A B ์ˆœ์œผ๋กœ ์ธ์‡„ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ธ์‡„๋ฅผ ์š”์ฒญํ•œ ๋ฌธ์„œ๊ฐ€ ๋ช‡ ๋ฒˆ์งธ๋กœ ์ธ์‡„๋˜๋Š”์ง€ .. 2021. 8. 19.
[Swift Algorithm] ๋’ค์ง‘๊ธฐ BOJ #1439 ๋ฌธ์ œ ์„ค๋ช… ๋‹ค์†œ์ด๋Š” 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‹ค์†œ์ด๋Š” ์ด ๋ฌธ์ž์—ด S์— ์žˆ๋Š” ๋ชจ๋“  ์ˆซ์ž๋ฅผ ์ „๋ถ€ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋‹ค์†œ์ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰๋™์€ S์—์„œ ์—ฐ์†๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆซ์ž๋ฅผ ์žก๊ณ  ๋ชจ๋‘ ๋’ค์ง‘๋Š” ๊ฒƒ์ด๋‹ค. ๋’ค์ง‘๋Š” ๊ฒƒ์€ 1์„ 0์œผ๋กœ, 0์„ 1๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด S=0001100 ์ผ ๋•Œ, ์ „์ฒด๋ฅผ ๋’ค์ง‘์œผ๋ฉด 1110011์ด ๋œ๋‹ค. 4๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ 5๋ฒˆ์งธ ๋ฌธ์ž๊นŒ์ง€ ๋’ค์ง‘์œผ๋ฉด 1111111์ด ๋˜์–ด์„œ 2๋ฒˆ ๋งŒ์— ๋ชจ๋‘ ๊ฐ™์€ ์ˆซ์ž๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ฒ˜์Œ๋ถ€ํ„ฐ 4๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ 5๋ฒˆ์งธ ๋ฌธ์ž๊นŒ์ง€ ๋ฌธ์ž๋ฅผ ๋’ค์ง‘์œผ๋ฉด ํ•œ ๋ฒˆ์— 0000000์ด ๋˜์–ด์„œ 1๋ฒˆ ๋งŒ์— ๋ชจ๋‘ ๊ฐ™์€ ์ˆซ์ž๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‹ค์†œ์ด๊ฐ€ ํ•ด์•ผํ•˜๋Š” ํ–‰๋™์˜ ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋ฌธ.. 2021. 8. 19.
[Swift Algorithm] ์ˆ˜ ๋ฌถ๊ธฐ BOJ #1744 ๋ฌธ์ œ ์„ค๋ช… ๊ธธ์ด๊ฐ€ N์ธ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ์ˆ˜์—ด์˜ ํ•ฉ์„ ๊ตฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ๊ทธ๋ƒฅ ๊ทธ ์ˆ˜์—ด์˜ ํ•ฉ์„ ๋ชจ๋‘ ๋”ํ•ด์„œ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ˆ˜์—ด์˜ ๋‘ ์ˆ˜๋ฅผ ๋ฌถ์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์–ด๋–ค ์ˆ˜๋ฅผ ๋ฌถ์œผ๋ ค๊ณ  ํ•  ๋•Œ, ์œ„์น˜์— ์ƒ๊ด€์—†์ด ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ฐ™์€ ์œ„์น˜์— ์žˆ๋Š” ์ˆ˜(์ž๊ธฐ ์ž์‹ )๋ฅผ ๋ฌถ๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์ˆ˜๋ฅผ ๋ฌถ๊ฒŒ ๋˜๋ฉด, ์ˆ˜์—ด์˜ ํ•ฉ์„ ๊ตฌํ•  ๋•Œ ๋ฌถ์€ ์ˆ˜๋Š” ์„œ๋กœ ๊ณฑํ•œ ํ›„์— ๋”ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ์–ด๋–ค ์ˆ˜์—ด์ด {0, 1, 2, 4, 3, 5}์ผ ๋•Œ, ๊ทธ๋ƒฅ ์ด ์ˆ˜์—ด์˜ ํ•ฉ์„ ๊ตฌํ•˜๋ฉด 0+1+2+4+3+5 = 15์ด๋‹ค. ํ•˜์ง€๋งŒ, 2์™€ 3์„ ๋ฌถ๊ณ , 4์™€ 5๋ฅผ ๋ฌถ๊ฒŒ ๋˜๋ฉด, 0+1+(2*3)+(4*5) = 27์ด ๋˜์–ด ์ตœ๋Œ€๊ฐ€ ๋œ๋‹ค. ์ˆ˜์—ด์˜ ๋ชจ๋“  ์ˆ˜๋Š” ๋‹จ ํ•œ๋ฒˆ๋งŒ ๋ฌถ๊ฑฐ๋‚˜, ์•„๋‹ˆ๋ฉด ๋ฌถ์ง€ ์•Š์•„์•ผํ•œ๋‹ค. ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ,.. 2021. 8. 19.
[Swift Algorithm] ๊ฒŒ์ž„์„ ๋งŒ๋“  ๋™์ค€์ด BOJ #2847 ๋ฌธ์ œ ์„ค๋ช… ํ•™๊ต์—์„œ ๊ทธ๋ž˜ํ”ฝ์Šค ์ˆ˜์—…์„ ๋“ค์€ ๋™์ค€์ด๋Š” ์ˆ˜์—…์‹œ๊ฐ„์— ๋“ค์€ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์Šค๋งˆํŠธํฐ ๊ฒŒ์ž„์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ฒŒ์ž„์—๋Š” ์ด N๊ฐœ์˜ ๋ ˆ๋ฒจ์ด ์žˆ๊ณ , ๊ฐ ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•  ๋•Œ ๋งˆ๋‹ค ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ”Œ๋ ˆ์ด์–ด์˜ ์ ์ˆ˜๋Š” ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•˜๋ฉด์„œ ์–ป์€ ์ ์ˆ˜์˜ ํ•ฉ์œผ๋กœ, ์ด ์ ์ˆ˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์˜จ๋ผ์ธ ์ˆœ์œ„๋ฅผ ๋งค๊ธด๋‹ค. ๋™์ค€์ด๋Š” ๋ ˆ๋ฒจ์„ ๋‚œ์ด๋„ ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์‹ค์ˆ˜๋กœ ์‰ฌ์šด ๋ ˆ๋ฒจ์ด ์–ด๋ ค์šด ๋ ˆ๋ฒจ๋ณด๋‹ค ์ ์ˆ˜๋ฅผ ๋งŽ์ด ๋ฐ›๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋™์ค€์ด๋Š” ํŠน์ • ๋ ˆ๋ฒจ์˜ ์ ์ˆ˜๋ฅผ ๊ฐ์†Œ์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒํ•ด์„œ ๊ฐ ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•  ๋•Œ ์ฃผ๋Š” ์ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•  ๋•Œ ์–ป๋Š” ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ช‡ ๋ฒˆ ๊ฐ์†Œ์‹œํ‚ค๋ฉด ๋˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ ์ˆ˜๋Š” ํ•ญ์ƒ ์–‘์ˆ˜์ด์–ด์•ผ ํ•˜๊ณ , 1๋งŒํผ ๊ฐ์†Œ์‹œํ‚ค๋Š” .. 2021. 8. 19.
[Swift Algorithm] ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ BOJ #1541 ๋ฌธ์ œ ์„ค๋ช… ์„ธ์ค€์ด๋Š” ์–‘์ˆ˜์™€ +, -, ๊ทธ๋ฆฌ๊ณ  ๊ด„ํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์‹์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ๋ชจ๋‘ ์ง€์› ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ์„ธ์ค€์ด๋Š” ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๊ด„ํ˜ธ๋ฅผ ์ ์ ˆํžˆ ์ณ์„œ ์ด ์‹์˜ ๊ฐ’์„ ์ตœ์†Œ๋กœ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ โ€˜0โ€™~โ€˜9โ€™, โ€˜+โ€™, ๊ทธ๋ฆฌ๊ณ  โ€˜-โ€™๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค ๋งŽ์ด ์—ฐ์†๋˜๋Š” ์ˆซ์ž๋Š” ์—†๋‹ค. ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์‹์˜ ๊ธธ์ด๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์ œ ์ž…๋ ฅ 55-50+40 ์ถœ๋ ฅ -35 ๋‚ด ๋ฌธ์ œ ํ’€์ด import Foundation v.. 2021. 8. 18.