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

3๏ธโƒฃ Swift/Problem Solving110

[Swift Algorithm] ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ BOJ #1158 ๋ฌธ์ œ ์„ค๋ช… ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ์›์„ ์ด๋ฃจ๋ฉด์„œ ์•‰์•„์žˆ๊ณ , ์–‘์˜ ์ •์ˆ˜ K(≤ N)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์ œ ์ˆœ์„œ๋Œ€๋กœ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์ œ๊ฑฐํ•œ๋‹ค. ํ•œ ์‚ฌ๋žŒ์ด ์ œ๊ฑฐ๋˜๋ฉด ๋‚จ์€ ์‚ฌ๋žŒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์›์„ ๋”ฐ๋ผ ์ด ๊ณผ์ •์„ ๊ณ„์†ํ•ด ๋‚˜๊ฐ„๋‹ค. ์ด ๊ณผ์ •์€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ๋ชจ๋‘ ์ œ๊ฑฐ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค. ์›์—์„œ ์‚ฌ๋žŒ๋“ค์ด ์ œ๊ฑฐ๋˜๋Š” ์ˆœ์„œ๋ฅผ (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด (7, 3)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์€ ์ด๋‹ค. N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง€๋ฉด (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ N ≤ 5,000) ์ถœ๋ ฅ ์˜ˆ์ œ์™€ ๊ฐ™์ด ์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์ œ ์ž…๋ ฅ 7 3 ์ถœ๋ ฅ ๋‚ด ๋ฌธ์ œ ํ’€์ด import .. 2021. 7. 30.
[Swift Algorithm] ํ‚ค๋กœ๊ฑฐ BOJ #5397 ๋ฌธ์ œ ์„ค๋ช… ์ฐฝ์˜์ด๋Š” ๊ฐ•์‚ฐ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ›”์น˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐ•์‚ฐ์ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ปดํ“จํ„ฐ์— ํ‚ค๋กœ๊ฑฐ๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค. ๋ฉฐ์น ์„ ๊ธฐ๋‹ค๋ฆฐ ๋์— ์ฐฝ์˜์ด๋Š” ๊ฐ•์‚ฐ์ด๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐฝ์— ์ž…๋ ฅํ•˜๋Š” ๊ธ€์ž๋ฅผ ์–ป์–ด๋ƒˆ๋‹ค. ํ‚ค๋กœ๊ฑฐ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ณด๋“œ๋ฅผ ๋ˆ„๋ฅธ ๋ช…๋ น์„ ๋ชจ๋‘ ๊ธฐ๋กํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ๊ฐ•์‚ฐ์ด๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ, ํ™”์‚ดํ‘œ๋‚˜ ๋ฐฑ์ŠคํŽ˜์ด์Šค๋ฅผ ์ž…๋ ฅํ•ด๋„ ์ •ํ™•ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ•์‚ฐ์ด๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐฝ์—์„œ ์ž…๋ ฅํ•œ ํ‚ค๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ•์‚ฐ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๊ฐ•์‚ฐ์ด๋Š” ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•œ ํ‚ค๋Š” ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž, ์†Œ๋ฌธ์ž, ์ˆซ์ž, ๋ฐฑ์ŠคํŽ˜์ด์Šค, ํ™”์‚ดํ‘œ์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ•์‚ฐ์ด๊ฐ€ ์ž…๋ ฅํ•œ ์ˆœ์„œ๋Œ€๋กœ ๊ธธ์ด๊ฐ€ L์ธ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ L ≤ 1,000,0.. 2021. 7. 30.
[Swift Algorithm] ์—๋””ํ„ฐ BOJ #1406 ๋ฌธ์ œ ์„ค๋ช… ํ•œ ์ค„๋กœ ๋œ ๊ฐ„๋‹จํ•œ ์—๋””ํ„ฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด ํŽธ์ง‘๊ธฐ๋Š” ์˜์–ด ์†Œ๋ฌธ์ž๋งŒ์„ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ์ง‘๊ธฐ๋กœ, ์ตœ๋Œ€ 600,000๊ธ€์ž๊นŒ์ง€ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ํŽธ์ง‘๊ธฐ์—๋Š” '์ปค์„œ'๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋Š”๋ฐ, ์ปค์„œ๋Š” ๋ฌธ์žฅ์˜ ๋งจ ์•ž(์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์˜ ์™ผ์ชฝ), ๋ฌธ์žฅ์˜ ๋งจ ๋’ค(๋งˆ์ง€๋ง‰ ๋ฌธ์ž์˜ ์˜ค๋ฅธ์ชฝ), ๋˜๋Š” ๋ฌธ์žฅ ์ค‘๊ฐ„ ์ž„์˜์˜ ๊ณณ(๋ชจ๋“  ์—ฐ์†๋œ ๋‘ ๋ฌธ์ž ์‚ฌ์ด)์— ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ๊ธธ์ด๊ฐ€ L์ธ ๋ฌธ์ž์—ด์ด ํ˜„์žฌ ํŽธ์ง‘๊ธฐ์— ์ž…๋ ฅ๋˜์–ด ์žˆ์œผ๋ฉด, ์ปค์„œ๊ฐ€ ์œ„์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์€ L+1๊ฐ€์ง€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด ํŽธ์ง‘๊ธฐ๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. L ์ปค์„œ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ํ•œ ์นธ ์˜ฎ๊น€ (์ปค์„œ๊ฐ€ ๋ฌธ์žฅ์˜ ๋งจ ์•ž์ด๋ฉด ๋ฌด์‹œ๋จ) D ์ปค์„œ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ์˜ฎ๊น€ (์ปค์„œ๊ฐ€ ๋ฌธ์žฅ์˜ ๋งจ ๋’ค์ด๋ฉด ๋ฌด์‹œ๋จ) B ์ปค์„œ ์™ผ์ชฝ์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์‚ญ์ œํ•จ (์ปค์„œ๊ฐ€ ๋ฌธ์žฅ์˜ ๋งจ ์•ž์ด.. 2021. 7. 30.
[Swift Algorithm] ๋‘ ์ˆ˜์˜ ํ•ฉ BOJ #3273 ๋ฌธ์ œ ์„ค๋ช… n๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์–‘์˜ ์ •์ˆ˜ a1, a2, ..., an์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด ์žˆ๋‹ค. ai์˜ ๊ฐ’์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1000000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ž์—ฐ์ˆ˜ x๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ai + aj = x (1 ≤ i < j ≤ n)์„ ๋งŒ์กฑํ•˜๋Š” (ai, aj)์Œ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ˆ˜์—ด์˜ ํฌ๊ธฐ n์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” ์ˆ˜์—ด์— ํฌํ•จ๋˜๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์…‹์งธ ์ค„์—๋Š” x๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 100000, 1 ≤ x ≤ 2000000) ์ถœ๋ ฅ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์ œ ์ž…๋ ฅ 9 5 12 7 10 9 1 2 3 11 13 ์ถœ๋ ฅ 3 ๋‚ด ๋ฌธ์ œ ํ’€์ด import Foundation let count = Int(readLine().. 2021. 7. 30.
[Swift Algorithm] ์• ๋„ˆ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ BOJ #1919 ๋ฌธ์ œ ์„ค๋ช… ๋‘ ์˜์–ด ๋‹จ์–ด๊ฐ€ ์ฒ ์ž์˜ ์ˆœ์„œ๋ฅผ ๋’ค๋ฐ”๊พธ์–ด ๊ฐ™์•„์งˆ ์ˆ˜ ์žˆ์„ ๋•Œ, ๊ทธ๋Ÿฌํ•œ ๋‘ ๋‹จ์–ด๋ฅผ ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด occurs ๋ผ๋Š” ์˜์–ด ๋‹จ์–ด์™€ succor ๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋Š”๋ฐ, occurs์˜ ๊ฐ ๋ฌธ์ž๋“ค์˜ ์ˆœ์„œ๋ฅผ ์ž˜ ๋ฐ”๊พธ๋ฉด succor์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•œ ํŽธ, dared์™€ bread๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ์ง€ ์•Š๋‹ค. ํ•˜์ง€๋งŒ dared์—์„œ ๋งจ ์•ž์˜ d๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , bread์—์„œ ์ œ์ผ ์•ž์˜ b๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด, ared์™€ read๋ผ๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋Š” ๋‹จ์–ด๊ฐ€ ๋‚จ๊ฒŒ ๋œ๋‹ค. ๋‘ ๊ฐœ์˜ ์˜์–ด ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‘ ๋‹จ์–ด๊ฐ€ ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋„๋ก ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋Š” ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฌธ์ž ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•  ๋•Œ์—๋Š” ์•„๋ฌด ์œ„์น˜์— ์žˆ๋Š” ๋ฌธ.. 2021. 7. 30.