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

3๏ธโƒฃ Swift/Problem Solving110

[Swift Algorithm] ์ƒ์ž๋„ฃ๊ธฐ BOJ #1965 ๋ฌธ์ œ ์„ค๋ช… ์ •์œก๋ฉด์ฒด ๋ชจ์–‘์˜ ์ƒ์ž๊ฐ€ ์ผ๋ ฌ๋กœ ๋Š˜์–ด์„œ ์žˆ๋‹ค. ์ƒ์ž๋งˆ๋‹ค ํฌ๊ธฐ๊ฐ€ ์ฃผ์–ด์ ธ ์žˆ๋Š”๋ฐ, ์•ž์— ์žˆ๋Š” ์ƒ์ž์˜ ํฌ๊ธฐ๊ฐ€ ๋’ค์— ์žˆ๋Š” ์ƒ์ž์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์œผ๋ฉด, ์•ž์— ์žˆ๋Š” ์ƒ์ž๋ฅผ ๋’ค์— ์žˆ๋Š” ์ƒ์ž ์•ˆ์— ๋„ฃ์„ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•ž์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ํฌ๊ธฐ๊ฐ€ (1, 5, 2, 3, 7)์ธ 5๊ฐœ์˜ ์ƒ์ž๊ฐ€ ์žˆ๋‹ค๋ฉด, ํฌ๊ธฐ 1์ธ ์ƒ์ž๋ฅผ ํฌ๊ธฐ 5์ธ ์ƒ์ž์— ๋„ฃ๊ณ , ๋‹ค์‹œ ์ด ์ƒ์ž๋ฅผ ํฌ๊ธฐ 7์ธ ์ƒ์ž ์•ˆ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ์ƒ์ž๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์•ž์˜ ์˜ˆ์—์„œ ์ฐจ๋ก€๋Œ€๋กœ ํฌ๊ธฐ๊ฐ€ 1, 2, 3, 7์ธ ์ƒ์ž๋ฅผ ์„ ํƒํ•˜๋ฉด ์ด 4๊ฐœ์˜ ์ƒ์ž๊ฐ€ ํ•œ ๊ฐœ์˜ ์ƒ์ž์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. ์ƒ์ž์˜ ํฌ๊ธฐ๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ํ•œ ๋ฒˆ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€์˜ ์ƒ์ž ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์€ ์ƒ.. 2021. 8. 28.
[Swift Algorithm] ํƒ๋ฐฐ BOJ #8980 ๋ฌธ์ œ ์„ค๋ช… ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ง์„  ๋„๋กœ์ƒ์— ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ 1๋ฒˆ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์—ฌ์ง„ ๋งˆ์„๋“ค์ด ์žˆ๋‹ค. ๋งˆ์„์— ์žˆ๋Š” ๋ฌผ๊ฑด์„ ๋ฐฐ์†กํ•˜๊ธฐ ์œ„ํ•œ ํŠธ๋Ÿญ ํ•œ ๋Œ€๊ฐ€ ์žˆ๊ณ , ํŠธ๋Ÿญ์ด ์žˆ๋Š” ๋ณธ๋ถ€๋Š” 1๋ฒˆ ๋งˆ์„ ์™ผ์ชฝ์— ์žˆ๋‹ค. ์ด ํŠธ๋Ÿญ์€ ๋ณธ๋ถ€์—์„œ ์ถœ๋ฐœํ•˜์—ฌ 1๋ฒˆ ๋งˆ์„๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋งˆ์„๊นŒ์ง€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋ฉด์„œ ๋งˆ์„์— ์žˆ๋Š” ๋ฌผ๊ฑด์„ ๋ฐฐ์†กํ•œ๋‹ค. ๊ฐ ๋งˆ์„์€ ๋ฐฐ์†กํ•  ๋ฌผ๊ฑด๋“ค์„ ๋ฐ•์Šค์— ๋„ฃ์–ด ๋ณด๋‚ด๋ฉฐ, ๋ณธ๋ถ€์—์„œ๋Š” ๋ฐ•์Šค๋ฅผ ๋ณด๋‚ด๋Š” ๋งˆ์„๋ฒˆํ˜ธ, ๋ฐ•์Šค๋ฅผ ๋ฐ›๋Š” ๋งˆ์„๋ฒˆํ˜ธ์™€ ๋ณด๋‚ผ ๋ฐ•์Šค์˜ ๊ฐœ์ˆ˜๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค. ๋ฐ•์Šค๋“ค์€ ๋ชจ๋‘ ํฌ๊ธฐ๊ฐ€ ๊ฐ™๋‹ค. ํŠธ๋Ÿญ์— ์ตœ๋Œ€๋กœ ์‹ค์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ•์Šค์˜ ๊ฐœ์ˆ˜, ์ฆ‰ ํŠธ๋Ÿญ์˜ ์šฉ๋Ÿ‰์ด ์žˆ๋‹ค. ์ด ํŠธ๋Ÿญ ํ•œ๋Œ€๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค์Œ์˜ ์กฐ๊ฑด์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜๋ฉด์„œ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ๋ฐ•์Šค๋“ค์„ ๋ฐฐ์†กํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์กฐ๊ฑด 1: ๋ฐ•์Šค๋ฅผ ํŠธ๋Ÿญ์— ์‹ค์œผ๋ฉด, ์ด ๋ฐ•์Šค๋Š” ๋ฐ›๋Š” ๋งˆ์„์—์„œ๋งŒ ๋‚ด.. 2021. 8. 22.
[Swift Algorithm] ์นด๋“œ ํ•ฉ์ฒด ๋†€์ด BOJ #15903 ๋ฌธ์ œ ์„ค๋ช… ์„ํ™˜์ด๋Š” ์•„๊ธฐ๋‹ค. ์•„๊ธฐ ์„ํ™˜์ด๋Š” ์ž์—ฐ์ˆ˜๊ฐ€ ์“ฐ์—ฌ์ ธ์žˆ๋Š” ์นด๋“œ๋ฅผ ๊ฐ–๊ณ  ๋‹ค์–‘ํ•œ ๋†€์ด๋ฅผ ํ•˜๋ฉฐ ๋…ธ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•œ๋‹ค. ์˜ค๋Š˜ ์•„๊ธฐ ์„ํ™˜์ด๋Š” ๋ฌด์Šจ ๋†€์ด๋ฅผ ํ•˜๊ณ  ์žˆ์„๊นŒ? ๋ฐ”๋กœ ์นด๋“œ ํ•ฉ์ฒด ๋†€์ด์ด๋‹ค! ์•„๊ธฐ ์„ํ™˜์ด๋Š” ์ž์—ฐ์ˆ˜๊ฐ€ ์“ฐ์—ฌ์ง„ ์นด๋“œ๋ฅผ n์žฅ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์ฒ˜์Œ์— i๋ฒˆ ์นด๋“œ์—” ai๊ฐ€ ์“ฐ์—ฌ์žˆ๋‹ค. ์นด๋“œ ํ•ฉ์ฒด ๋†€์ด๋Š” ์ด ์นด๋“œ๋“ค์„ ํ•ฉ์ฒดํ•˜๋ฉฐ ๋…ธ๋Š” ๋†€์ด์ด๋‹ค. ์นด๋“œ ํ•ฉ์ฒด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. x๋ฒˆ ์นด๋“œ์™€ y๋ฒˆ ์นด๋“œ๋ฅผ ๊ณจ๋ผ ๊ทธ ๋‘ ์žฅ์— ์“ฐ์—ฌ์ง„ ์ˆ˜๋ฅผ ๋”ํ•œ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค. (x ≠ y) ๊ณ„์‚ฐํ•œ ๊ฐ’์„ x๋ฒˆ ์นด๋“œ์™€ y๋ฒˆ ์นด๋“œ ๋‘ ์žฅ ๋ชจ๋‘์— ๋ฎ์–ด ์“ด๋‹ค. ์ด ์นด๋“œ ํ•ฉ์ฒด๋ฅผ ์ด m๋ฒˆ ํ•˜๋ฉด ๋†€์ด๊ฐ€ ๋๋‚œ๋‹ค. m๋ฒˆ์˜ ํ•ฉ์ฒด๋ฅผ ๋ชจ๋‘ ๋๋‚ธ ๋’ค, n์žฅ์˜ ์นด๋“œ์— ์“ฐ์—ฌ์žˆ๋Š” ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์ด ์ด ๋†€์ด์˜ ์ ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์ด ์ ์ˆ˜๋ฅผ ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋งŒ๋“œ๋Š”.. 2021. 8. 22.
[Swift Algorithm] ๋ฉ€ํ‹ฐํƒญ ์Šค์ผ€์ค„๋ง BOJ #1700 ๋ฌธ์ œ ์„ค๋ช… ๊ธฐ์ˆ™์‚ฌ์—์„œ ์‚ด๊ณ  ์žˆ๋Š” ์ค€๊ทœ๋Š” ํ•œ ๊ฐœ์˜ ๋ฉ€ํ‹ฐํƒญ์„ ์ด์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์ค€๊ทœ๋Š” ํ‚ค๋ณด๋“œ, ํ—ค์–ด๋“œ๋ผ์ด๊ธฐ, ํ•ธ๋“œํฐ ์ถฉ์ „๊ธฐ, ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ ์ถฉ์ „๊ธฐ ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ „๊ธฐ์šฉํ’ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์–ด์ฉ” ์ˆ˜ ์—†์ด ๊ฐ์ข… ์ „๊ธฐ์šฉํ’ˆ์˜ ํ”Œ๋Ÿฌ๊ทธ๋ฅผ ๋บ๋‹ค ๊ฝ‚์•˜๋‹ค ํ•˜๋Š” ๋ถˆํŽธํ•จ์„ ๊ฒช๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ค€๊ทœ๋Š” ์ž์‹ ์˜ ์ƒํ™œ ํŒจํ„ด์„ ๋ถ„์„ํ•˜์—ฌ, ์ž๊ธฐ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ „๊ธฐ์šฉํ’ˆ์˜ ์‚ฌ์šฉ์ˆœ์„œ๋ฅผ ์•Œ์•„๋‚ด์—ˆ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”Œ๋Ÿฌ๊ทธ๋ฅผ ๋นผ๋Š” ํšŸ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ์•ˆํ•˜์—ฌ ๋ณด๋‹ค ์พŒ์ ํ•œ ์ƒํ™œํ™˜๊ฒฝ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 3 ๊ตฌ(๊ตฌ๋ฉ์ด ์„ธ ๊ฐœ ๋‹ฌ๋ฆฐ) ๋ฉ€ํ‹ฐํƒญ์„ ์“ธ ๋•Œ, ์ „๊ธฐ์šฉํ’ˆ์˜ ์‚ฌ์šฉ ์ˆœ์„œ๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฃผ์–ด์ง„๋‹ค๋ฉด, ํ‚ค๋ณด๋“œ ํ—ค์–ด๋“œ๋ผ์ด๊ธฐ ํ•ธ๋“œํฐ ์ถฉ์ „๊ธฐ ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ ์ถฉ์ „๊ธฐ ํ‚ค๋ณด๋“œ ํ—ค์–ด๋“œ๋ผ์ด๊ธฐ ํ‚ค๋ณด๋“œ, ํ—ค์–ด๋“œ๋ผ์ด๊ธฐ, ํ•ธ๋“œํฐ ์ถฉ์ „๊ธฐ์˜ ํ”Œ๋Ÿฌ๊ทธ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋ฉ€ํ‹ฐํƒญ์— ๊ฝ‚์€ ๋‹ค.. 2021. 8. 20.
[Swift Algorithm] ์ฃผ์œ ์†Œ BOJ #13305 ๋ฌธ์ œ ์„ค๋ช… ์–ด๋–ค ๋‚˜๋ผ์— N๊ฐœ์˜ ๋„์‹œ๊ฐ€ ์žˆ๋‹ค. ์ด ๋„์‹œ๋“ค์€ ์ผ์ง์„  ๋„๋กœ ์œ„์— ์žˆ๋‹ค. ํŽธ์˜์ƒ ์ผ์ง์„ ์„ ์ˆ˜ํ‰ ๋ฐฉํ–ฅ์œผ๋กœ ๋‘์ž. ์ œ์ผ ์™ผ์ชฝ์˜ ๋„์‹œ์—์„œ ์ œ์ผ ์˜ค๋ฅธ์ชฝ์˜ ๋„์‹œ๋กœ ์ž๋™์ฐจ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋™ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ธ์ ‘ํ•œ ๋‘ ๋„์‹œ ์‚ฌ์ด์˜ ๋„๋กœ๋“ค์€ ์„œ๋กœ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ๋„๋กœ ๊ธธ์ด์˜ ๋‹จ์œ„๋Š” km๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ฒ˜์Œ ์ถœ๋ฐœํ•  ๋•Œ ์ž๋™์ฐจ์—๋Š” ๊ธฐ๋ฆ„์ด ์—†์–ด์„œ ์ฃผ์œ ์†Œ์—์„œ ๊ธฐ๋ฆ„์„ ๋„ฃ๊ณ  ์ถœ๋ฐœํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ๊ธฐ๋ฆ„ํ†ต์˜ ํฌ๊ธฐ๋Š” ๋ฌด์ œํ•œ์ด์–ด์„œ ์–ผ๋งˆ๋“ ์ง€ ๋งŽ์€ ๊ธฐ๋ฆ„์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ๋„๋กœ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋™ํ•  ๋•Œ 1km๋งˆ๋‹ค 1๋ฆฌํ„ฐ์˜ ๊ธฐ๋ฆ„์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ ๋„์‹œ์—๋Š” ๋‹จ ํ•˜๋‚˜์˜ ์ฃผ์œ ์†Œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋„์‹œ ๋งˆ๋‹ค ์ฃผ์œ ์†Œ์˜ ๋ฆฌํ„ฐ๋‹น ๊ฐ€๊ฒฉ์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€๊ฒฉ์˜ ๋‹จ์œ„๋Š” ์›์„ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด ๋‚˜๋ผ์— ๋‹ค์Œ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ 4๊ฐœ์˜ ๋„์‹œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์› ์•ˆ์— ์žˆ๋Š” .. 2021. 8. 19.