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

3๏ธโƒฃ Swift/Problem Solving110

[Swift Algorithm] ๋ฏธ๋กœ ํƒ์ƒ‰ BOJ #2178 ๋ฌธ์ œ ์„ค๋ช… N×Mํฌ๊ธฐ์˜ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„๋˜๋Š” ๋ฏธ๋กœ๊ฐ€ ์žˆ๋‹ค. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 ๋ฏธ๋กœ์—์„œ 1์€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์„ ๋‚˜ํƒ€๋‚ด๊ณ , 0์€ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ์นธ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, (1, 1)์—์„œ ์ถœ๋ฐœํ•˜์—ฌ (N, M)์˜ ์œ„์น˜๋กœ ์ด๋™ํ•  ๋•Œ ์ง€๋‚˜์•ผ ํ•˜๋Š” ์ตœ์†Œ์˜ ์นธ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ•œ ์นธ์—์„œ ๋‹ค๋ฅธ ์นธ์œผ๋กœ ์ด๋™ํ•  ๋•Œ, ์„œ๋กœ ์ธ์ ‘ํ•œ ์นธ์œผ๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์˜ ์˜ˆ์—์„œ๋Š” 15์นธ์„ ์ง€๋‚˜์•ผ (N, M)์˜ ์œ„์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์นธ์„ ์…€ ๋•Œ์—๋Š” ์‹œ์ž‘ ์œ„์น˜์™€ ๋„์ฐฉ ์œ„์น˜๋„ ํฌํ•จํ•œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ์ •์ˆ˜๋กœ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์ˆ˜๋“ค์€ ๋ถ™์–ด์„œ.. 2021. 10. 1.
[Swift Algorithm] ๊ทธ๋ฆผ BOJ #1926 ๋ฌธ์ œ ์„ค๋ช… ์–ด๋–ค ํฐ ๋„ํ™”์ง€์— ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ ธ ์žˆ์„ ๋•Œ, ๊ทธ ๊ทธ๋ฆผ์˜ ๊ฐœ์ˆ˜์™€, ๊ทธ ๊ทธ๋ฆผ ์ค‘ ๋„“์ด๊ฐ€ ๊ฐ€์žฅ ๋„“์€ ๊ฒƒ์˜ ๋„“์ด๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ๋ผ. ๋‹จ, ๊ทธ๋ฆผ์ด๋ผ๋Š” ๊ฒƒ์€ 1๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์„ ํ•œ ๊ทธ๋ฆผ์ด๋ผ๊ณ  ์ •์˜ํ•˜์ž. ๊ฐ€๋กœ๋‚˜ ์„ธ๋กœ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์€ ์—ฐ๊ฒฐ์ด ๋œ ๊ฒƒ์ด๊ณ  ๋Œ€๊ฐ์„ ์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋œ ๊ฒƒ์€ ๋–จ์–ด์ง„ ๊ทธ๋ฆผ์ด๋‹ค. ๊ทธ๋ฆผ์˜ ๋„“์ด๋ž€ ๊ทธ๋ฆผ์— ํฌํ•จ๋œ 1์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋„ํ™”์ง€์˜ ์„ธ๋กœ ํฌ๊ธฐ n(1 ≤ n ≤ 500)๊ณผ ๊ฐ€๋กœ ํฌ๊ธฐ m(1 ≤ m ≤ 500)์ด ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ n+1 ์ค„ ๊นŒ์ง€ ๊ทธ๋ฆผ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (๋‹จ ๊ทธ๋ฆผ์˜ ์ •๋ณด๋Š” 0๊ณผ 1์ด ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ฃผ์–ด์ง€๋ฉฐ, 0์€ ์ƒ‰์น ์ด ์•ˆ๋œ ๋ถ€๋ถ„, 1์€ ์ƒ‰์น ์ด ๋œ ๋ถ€๋ถ„์„ ์˜๋ฏธํ•œ๋‹ค) ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ๊ทธ๋ฆผ์˜ ๊ฐœ์ˆ˜, ๋‘˜์งธ ์ค„์—๋Š” ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋„“์€ ๊ทธ๋ฆผ์˜ ๋„“์ด๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ๋ผ. ๋‹จ,.. 2021. 9. 30.
[Swift Algorithm] ์ฃผ์‹ BOJ #11501 ๋ฌธ์ œ ์„ค๋ช… ํ™์ค€์ด๋Š” ์š”์ฆ˜ ์ฃผ์‹์— ๋น ์ ธ์žˆ๋‹ค. ๊ทธ๋Š” ๋ฏธ๋ž˜๋ฅผ ๋‚ด๋‹ค๋ณด๋Š” ๋ˆˆ์ด ๋›ฐ์–ด๋‚˜, ๋‚  ๋ณ„๋กœ ์ฃผ๊ฐ€๋ฅผ ์˜ˆ์ƒํ•˜๊ณ  ์–ธ์ œ๋‚˜ ๊ทธ๊ฒŒ ๋งž์•„๋–จ์–ด์ง„๋‹ค. ๋งค์ผ ๊ทธ๋Š” ์•„๋ž˜ ์„ธ ๊ฐ€์ง€ ์ค‘ ํ•œ ํ–‰๋™์„ ํ•œ๋‹ค. ์ฃผ์‹ ํ•˜๋‚˜๋ฅผ ์‚ฐ๋‹ค. ์›ํ•˜๋Š” ๋งŒํผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ฃผ์‹์„ ํŒ๋‹ค. ์•„๋ฌด๊ฒƒ๋„ ์•ˆํ•œ๋‹ค. ํ™์ค€์ด๋Š” ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ƒํ•˜๋Š” ๋›ฐ์–ด๋‚œ ์•ˆ๋ชฉ์„ ๊ฐ€์กŒ์ง€๋งŒ, ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ์ž์‹ ์ด ์ตœ๋Œ€ ์ด์ต์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹น์‹ ์—๊ฒŒ ๋‚  ๋ณ„๋กœ ์ฃผ์‹์˜ ๊ฐ€๊ฒฉ์„ ์•Œ๋ ค์ฃผ์—ˆ์„ ๋•Œ, ์ตœ๋Œ€ ์ด์ต์ด ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€ ๊ณ„์‚ฐ์„ ํ•ด๋‹ฌ๋ผ๊ณ  ๋ถ€ํƒํ–ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‚  ์ˆ˜๊ฐ€ 3์ผ์ด๊ณ  ๋‚  ๋ณ„๋กœ ์ฃผ๊ฐ€๊ฐ€ 10, 7, 6์ผ ๋•Œ, ์ฃผ๊ฐ€๊ฐ€ ๊ณ„์† ๊ฐ์†Œํ•˜๋ฏ€๋กœ ์ตœ๋Œ€ ์ด์ต์€ 0์ด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งŒ์•ฝ ๋‚  ๋ณ„๋กœ ์ฃผ๊ฐ€๊ฐ€ 3, 5, 9์ผ ๋•Œ๋Š” ์ฒ˜์Œ ๋‘ ๋‚ ์— ์ฃผ์‹์„ ํ•˜๋‚˜์”ฉ ์‚ฌ๊ณ , ๋งˆ์ง€๋ง‰๋‚  ๋‹ค ํŒ”์•„ ๋ฒ„๋ฆฌ๋ฉด ์ด์ต์ด 10์ด .. 2021. 9. 2.
[Swift Algorithm] ๊ณต์ฃผ๋‹˜์˜ ์ •์› BOJ #2457 ๋ฌธ์ œ ์„ค๋ช… ์˜ค๋Š˜์€ ๊ณต์ฃผ๋‹˜์ด ํƒœ์–ด๋‚œ ๊ฒฝ์‚ฌ์Šค๋Ÿฌ์šด ๋‚ ์ด๋‹ค. ์™•์€ ์ด ๋‚ ์„ ๊ธฐ๋…ํ•˜๊ธฐ ์œ„ํ•ด ๋Š˜ ๊ฝƒ์ด ํ”ผ์–ด์žˆ๋Š” ์ž‘์€ ์ •์›์„ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. ์ด N๊ฐœ์˜ ๊ฝƒ์ด ์žˆ๋Š” ๋ฐ, ๊ฝƒ์€ ๋ชจ๋‘ ๊ฐ™์€ ํ•ด์— ํ”ผ์–ด์„œ ๊ฐ™์€ ํ•ด์— ์ง„๋‹ค. ํ•˜๋‚˜์˜ ๊ฝƒ์€ ํ”ผ๋Š” ๋‚ ๊ณผ ์ง€๋Š” ๋‚ ์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5์›” 8์ผ ํ”ผ์–ด์„œ 6์›” 13์ผ ์ง€๋Š” ๊ฝƒ์€ 5์›” 8์ผ๋ถ€ํ„ฐ 6์›” 12์ผ๊นŒ์ง€๋Š” ๊ฝƒ์ด ํ”ผ์–ด ์žˆ๊ณ , 6์›” 13์ผ์„ ํฌํ•จํ•˜์—ฌ ์ดํ›„๋กœ๋Š” ๊ฝƒ์„ ๋ณผ ์ˆ˜ ์—†๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. (์˜ฌํ•ด๋Š” 4, 6, 9, 11์›”์€ 30์ผ๊นŒ์ง€ ์žˆ๊ณ , 1, 3, 5, 7, 8, 10, 12์›”์€ 31์ผ๊นŒ์ง€ ์žˆ์œผ๋ฉฐ, 2์›”์€ 28์ผ๊นŒ์ง€๋งŒ ์žˆ๋‹ค.) ์ด๋Ÿฌํ•œ N๊ฐœ์˜ ๊ฝƒ๋“ค ์ค‘์—์„œ ๋‹ค์Œ์˜ ๋‘ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฝƒ๋“ค์„ ์„ ํƒํ•˜๊ณ  ์‹ถ๋‹ค. ๊ณต์ฃผ๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ๊ณ„์ ˆ์ธ 3์›” 1์ผ๋ถ€ํ„ฐ 11์›” 30์ผ๊นŒ์ง€ ๋งค์ผ ๊ฝƒ์ด .. 2021. 9. 1.
[Swift Algorithm] ์ค„ ์„ธ์šฐ๊ธฐ BOJ #7570 ๋ฌธ์ œ ์„ค๋ช… ๋Œ€ํ•œ ์–ด๋ฆฐ์ด์ง‘์— ์˜ฌํ•ด ์ž…ํ•™ํ•œ ์–ด๋ฆฐ์ด๋“ค์ด ๋†€์ดํ„ฐ์— ํ•œ ์ค„๋กœ ์„œ์žˆ๋‹ค. ๋ชจ๋“  ์–ด๋ฆฐ์ด๋“ค์—๊ฒŒ๋Š” ์ž…ํ•™ํ•  ๋•Œ ์ฃผ์–ด์ง„ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๊ณ  ๋ชจ๋‘ ์˜ท์— ๋ฒˆํ˜ธํ‘œ๋ฅผ ๋‹ฌ๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์–ด๋ฆฐ์ด๋“ค์€ ์•„์ง ๋ฒˆํ˜ธ ์ˆœ์„œ๋Œ€๋กœ ์ค„์„ ์ž˜ ์„œ์ง€ ๋ชปํ•˜๋ฏ€๋กœ ์„ ์ƒ๋‹˜์ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ๋ฒˆํ˜ธ์ˆœ์„œ๋Œ€๋กœ ์ค„์„ ์„ธ์šฐ๋ ค๊ณ  ํ•œ๋‹ค. ๋ฐฉ๋ฒ•: ์ค„ ์„œ์žˆ๋Š” ์–ด๋ฆฐ์ด ์ค‘ ํ•œ ๋ช…์„ ์„ ํƒํ•˜์—ฌ ์ œ์ผ ์•ž์ด๋‚˜ ์ œ์ผ ๋’ค๋กœ ๋ณด๋‚ธ๋‹ค. ์œ„์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ๋•Œ ์–ด๋ฆฐ์ด๊ฐ€ ์ด๋™ํ•ด์„œ ๋นˆ์ž๋ฆฌ๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒฝ์šฐ์—๋Š” ๋นˆ์ž๋ฆฌ์˜ ๋’ค์— ์žˆ๋Š” ์–ด๋ฆฐ์ด๋“ค์ด ํ•œ ๊ฑธ์Œ์”ฉ ์•ž์œผ๋กœ ๊ฑธ์–ด์™€์„œ ๋นˆ์ž๋ฆฌ๋ฅผ ๋ฉ”๊พผ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5๋ช…์˜ ์–ด๋ฆฐ์ด๋“ค์—๊ฒŒ 1๋ถ€ํ„ฐ 5๊นŒ์ง€์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ ธ ์žˆ๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ค„ ์„œ์žˆ๋‹ค๊ณ  ํ•˜์ž. 5 2 4 1 3 ์œ„ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฒˆํ˜ธ์ˆœ์„œ๋Œ€๋กœ ์ค„์„ ์„ธ์šธ ์ˆ˜ ์žˆ๋‹ค. 1๋ฒˆ ์–ด.. 2021. 8. 29.