๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

Algorithm16

2018 KAKAO BLIND ) ๋ฐฉ๊ธˆ๊ทธ๊ณก (C++) 2018 KAKAO BLIND RECRUITMENT [3์ฐจ] ๋ฐฉ๊ธˆ๊ทธ๊ณก ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [3์ฐจ] ๋ฐฉ๊ธˆ๊ทธ๊ณก ๋ฐฉ๊ธˆ๊ทธ๊ณก ๋ผ๋””์˜ค๋ฅผ ์ž์ฃผ ๋“ฃ๋Š” ๋„ค์˜ค๋Š” ๋ผ๋””์˜ค์—์„œ ๋ฐฉ๊ธˆ ๋‚˜์™”๋˜ ์Œ์•…์ด ๋ฌด์Šจ ์Œ์•…์ธ์ง€ ๊ถ๊ธˆํ•ด์งˆ ๋•Œ๊ฐ€ ๋งŽ๋‹ค. ๊ทธ๋Ÿด ๋•Œ ๋„ค์˜ค๋Š” ๋‹ค์Œ ํฌํ„ธ์˜ '๋ฐฉ๊ธˆ๊ทธ๊ณก' ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ณค ํ•œ๋‹ค. ๋ฐฉ๊ธˆ๊ทธ๊ณก์—์„œ๋Š” TV, programmers.co.kr ์นด์นด์˜ค ์‹ ์ž… ๊ณต์ฑ„ 3์ฐจ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ•ด์„ค ๋ธ”๋ผ์ธ๋“œ ์ฑ„์šฉ์œผ๋กœ ๊ด€์‹ฌ์„ ๋ชจ์€ ์นด์นด์˜ค ์‹ ์ž… ๊ณต์ฑ„์˜ ์„ธ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ๊ฐ€ ์ง€๋‚œ 10์›” 29์ผ(์ผ), ์˜คํ›„ 2์‹œ๋ถ€ํ„ฐ 6์‹œ๊นŒ์ง€ ๋„ค ์‹œ๊ฐ„์— ๊ฑธ์ณ ์˜คํ”„๋ผ์ธ์œผ๋กœ ์น˜๋Ÿฌ์กŒ์Šต๋‹ˆ๋‹ค. ๋‘ ์ฐจ๋ก€์˜ ์˜จ๋ผ์ธ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ tech.kakao.com ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šคํ‚ฌ์ฒดํฌ ๋„์ „์ค‘์— ๋‚˜์˜จ ๋ฌธ์ œ๋‹ค. ์Šค์Šค๋กœ ํ‘ธ๋Š” ๋ฐ์—๋Š” ์‹คํŒจํ•˜๊ณ  ๊ฒฐ๊ตญ ๋‹ค๋ฅธ๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ–ˆ๋‹ค. ์ผ๋‹จ C#.. 2021. 10. 13.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์œ„ํด๋ฆฌ์ฑŒ๋ฆฐ์ง€ 9์ฃผ์ฐจ] ์ „๋ ฅ๋ง์„ ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ(C++) ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ, ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์„ธ์š”. programmers.co.kr ์ฒ˜์Œ์—๋Š” ์ข€ ๋ง‰๋ง‰ํ–ˆ๋Š”๋ฐ ๊ธˆ๋ฐฉ ํ’€์ด๋ฅผ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 100๊ฐœ๋ฐ–์— ๋˜์ง€ ์•Š์•„์„œ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๋‹ค ํƒ์ƒ‰ํ•ด๋ณด๊ณ  ๊ฐ€์žฅ ์ฐจ์ด๊ฐ€ ์ ๊ฒŒ ๋‚˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฐพ์•„์ฃผ์—ˆ๋‹ค. ์ฒ˜์Œ์— ์ธ์ ‘ ๊ทธ๋ž˜ํ”„๋ฅผ ๋– ์˜ฌ๋ฆฌ๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๋Š”๋ฐ ํฌ๊ธฐ๋ฅผ wires.size()๋กœ ์ž…๋ ฅํ•ด๋ฒ„๋ ค์„œ ์ž๊พธ Segmentation fault๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์†ก์ „ํƒ‘์€ 1๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ wires.size() ํฌ๊ธฐ๋กœ ๋ฒกํ„ฐ๋ฅผ ์„ ์–ธํ•˜๋Š”๊ฒฝ์šฐ n๋ฒˆ์งธ ์†ก์ „ํƒ‘์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ์ €์žฅํ•  ๋•Œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ธ์ ‘๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“ค๊ณ  ๋‚œ ๋’ค์—๋Š” bfs๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ˆœํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฐจ์ด๊ฐ€ ์Œ์ˆ˜์ผ ์ˆ˜ ์žˆ์œผ๋‹ˆ abs()๋ฅผ ์ด์šฉํ•ด ์ ˆ๋Œ“๊ฐ’์„ ์–ป์–ด์ฃผ์—ˆ๋‹ค. ๋งŒ์•ฝ ์†ก์ „ํƒ‘ ๊ฐœ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ 0๋˜๋Š” 1์ด๋ฉด .. 2021. 10. 7.
BOJ 12100) 2048(Easy) (C++) 12100๋ฒˆ: 2048 (Easy) ์ฒซ์งธ ์ค„์— ๋ณด๋“œ์˜ ํฌ๊ธฐ N (1 ≤ N ≤ 20)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฒŒ์ž„ํŒ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. 0์€ ๋นˆ ์นธ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ด์™ธ์˜ ๊ฐ’์€ ๋ชจ๋‘ ๋ธ”๋ก์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ธ”๋ก์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๋Š” 2 www.acmicpc.net Easy๋ผ๊ณ  ๋˜์–ด์žˆ๋Š”๋ฐ ํ—ค๋งธ๋‹ค. ๊ตฌํ˜„ ์ž์ฒด๋Š” ์–ด๋ ต์ง€ ์•Š์•˜๋Š”๋ฐ DFS์ฒ˜๋Ÿผ ๊ตฌํ˜„์„ ํ•ด๋ฒ„๋ฆฌ๊ณ  board๋Š” ์›์ƒ๋ณต๊ตฌ๋ฅผ ์•ˆ์‹œ์ผœ์ค˜์„œ ์ž๊พธ ์˜ค๋‹ต์ด ๋–ด๋‹ค. ๋งค ํšŒ ๋ณด๋“œ์˜ ํ˜•ํƒœ๋ฅผ ๊ธฐ์–ตํ•  ์ˆœ ์—†์œผ๋‹ˆ๊นŒ 5๋ฒˆ ๋Œ๋ฆฌ๊ณ  ๋‚˜๋ฉด ๋‹ค์‹œ ์•„์˜ˆ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ์‹œํ–‰ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ํ๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ ๋ผ์ธ์„ ํ‘œํ˜„ํ–ˆ๋‹ค. ์•ž์— ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๊ฒฝ์šฐ(temp = 0)์—๋Š” ํ•ด๋‹น ๊ฐ’์„ ๊ธฐ์–ตํ•˜๊ณ  ํ์—์„œ ๋นผ๋‚ธ๋‹ค. ์•ž์— ๋ธ”๋Ÿญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ž์‹ ๊ณผ ๊ฐ™์œผ๋ฉด ํ•ฉ์ณ์ง€๋ฉด์„œ board์— ๋ฎ์–ด์”Œ์›Œ์ง€๊ณ  .. 2021. 10. 5.
BOJ 18808) ์Šคํ‹ฐ์ปค ๋ถ™์ด๊ธฐ (C++) 18808๋ฒˆ: ์Šคํ‹ฐ์ปค ๋ถ™์ด๊ธฐ ํ˜œ์œค์ด๋Š” ์ตœ๊ทผ์— ๋‹ค์–‘ํ•œ ๋Œ€ํšŒ๋ฅผ ์ฐธ์—ฌํ•˜๋ฉด์„œ ๋…ธํŠธ๋ถ์— ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ์Šคํ‹ฐ์ปค๋“ค์„ ๋งŽ์ด ๋ฐ›์•˜๋‹ค. ์Šคํ‹ฐ์ปค๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ๊ฐ ๋ชจ๋ˆˆ์ข…์ด ์œ„์— ์ธ์‡„๋˜์–ด ์žˆ์œผ๋ฉฐ, ์Šคํ‹ฐ์ปค์˜ ๊ฐ ์นธ์€ ์ƒํ•˜์ขŒ์šฐ๋กœ ๋ชจ๋‘ ์—ฐ www.acmicpc.net ๊ตฌํ˜„ ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ์—” ๋Œ๋ฆฌ๋Š”๊ฑธ ์ง์ ‘ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ  ๋…ธํŠธ๋ถ์— ์Šคํ‹ฐ์ปค๋ฅผ ๋ถ™์—ฌ๋ณด๋Š” ๋‹จ๊ณ„์—์„œ i, j๋ฅผ ์กฐ์ ˆํ•ด์„œ ํ•ด๊ฒฐํ•˜๋ ค ํ•˜์˜€์œผ๋‚˜ ์ƒ๊ฐ๋ณด๋‹ค ์‹ ๊ฒฝ์“ธ ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ ์Šคํ‹ฐ์ปค๋ฅผ ๋Œ๋ฆฌ๋Š”๊ฑธ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. ์Šคํ‹ฐ์ปค๋ฅผ ๋Œ๋ฆฌ๋Š” ๋ถ€๋ถ„์—์„œ i, j๊ฐ€ ํ—ท๊ฐˆ๋ ค์„œ ๋˜ ํ•œ์ฐธ ํ—ค๋งธ๋‹ค. ๊ฐ ์Šคํ‹ฐ์ปค์— ๋Œ€ํ•ด ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฒ€ํ† ํ•œ๋‹ค(stick). ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ์žˆ์œผ๋ฉด ๋ถ™์ด๊ณ  ๋‹ค์Œ ์Šคํ‹ฐ์ปค์˜ ๊ฒ€ํ† ๋กœ ๋„˜์–ด๊ฐ€๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์Šคํ‹ฐ์ปค๋ฅผ ํšŒ์ „์‹œ์ผœ ๋‹ค์‹œ ์‹œ๋„ํ•œ๋‹ค. ์Šคํ‹ฐ์ปค๋ฅผ ํšŒ์ „์‹œํ‚ฌ ๋•Œ i, j๊ฐ€ ์–ด๋–ค์‹์œผ๋กœ ๋ฐ”๋€Œ์–ด.. 2021. 10. 4.
BOJ 15683) ๊ฐ์‹œ (C++) 15683๋ฒˆ: ๊ฐ์‹œ ์Šคํƒ€ํŠธ๋งํฌ์˜ ์‚ฌ๋ฌด์‹ค์€ 1×1ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š” N×M ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ๋ฌด์‹ค์—๋Š” ์ด K๊ฐœ์˜ CCTV๊ฐ€ ์„ค์น˜๋˜์–ด์ ธ ์žˆ๋Š”๋ฐ, CCTV๋Š” 5๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. ๊ฐ CCTV๊ฐ€ ๊ฐ www.acmicpc.net ๊ฐ CCTV์˜ ์ขŒํ‘œ๋ฅผ arr๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. 5๋ฒˆ ์นด๋ฉ”๋ผ๋Š” ํ•œ ๋ฐฉํ–ฅ, 2๋ฒˆ ์นด๋ฉ”๋ผ๋Š” 2 ๋ฐฉํ–ฅ, ๋‚˜๋จธ์ง€ ์นด๋ฉ”๋ผ๋Š” 4 ๋ฐฉํ–ฅ์œผ๋กœ ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ’€๋ฉด์„œ ํ•œ๊ฐ€์ง€ ์‹ค์ˆ˜ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์„ ๋งŽ์ด ํ—ˆ๋น„ํ–ˆ๋‹ค. ์ฒ˜์Œ์— ๊ฐ CCTV๊ฐ€ ๊ฐ์‹œํ•˜๋Š” ๊ณต๊ฐ„์„ -1๋กœ ์ฒดํฌํ•˜๊ณ  ๋˜๋Œ์•„์˜ค๋ฉด์„œ 0์œผ๋กœ ๋‹ค์‹œ ๋ณต๊ตฌ์‹œ์ผœ ์ค€ ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•  ๊ฒฝ์šฐ ๋‹ค๋ฅธ CCTV์™€ ๊ฐ™์€ ๊ณต๊ฐ„์„ ๊ฐ์‹œํ•˜๋‹ค๊ฐ€ ํ•œ CCTV๋งŒ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ํŠธ๋Š” ๊ฒฝ์šฐ์— ํ•ด๋‹น ๊ณต๊ฐ„์— ๋Œ€ํ•œ ๊ฐ์‹œ๊ฐ€ ํ’€๋ฆฐ ๊ฒƒ์œผ๋กœ ์ฒด.. 2021. 9. 26.
BOJ 16987) ๊ณ„๋ž€์œผ๋กœ ๊ณ„๋ž€์น˜๊ธฐ (C++) 16987๋ฒˆ: ๊ณ„๋ž€์œผ๋กœ ๊ณ„๋ž€์น˜๊ธฐ ์›๋ž˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธฐ๋ณธ ์†Œ์–‘์€ ํŒ”๊ตฝํ˜€ํŽด๊ธฐ๋ฅผ ๋‹จ ํ•œ ๊ฐœ๋„ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•˜์ง€๋งŒ ์ธ๋ฒ”์ด๋Š” 3๋Œ€ 500์„ ๋„˜๊ธฐ๋Š” ๋ช‡ ์•ˆ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ค‘ ํ•œ ๋ช…์ด๋‹ค. ์ธ๋ฒ”์ด๋Š” BOJ์—์„œ ํ‹€๋ฆฐ ์ œ์ถœ์„ ํ•  ๋•Œ๋งˆ๋‹ค ํ„ฑ www.acmicpc.net ๋ฐฑํŠธ๋ž˜ํ‚น์„ ์ด์šฉํ•ด ํ’€์—ˆ๋‹ค. 1. ๊ฐ€์žฅ ์™ผ์ชฝ์˜ ๊ณ„๋ž€์„ ๋“ ๋‹ค. 2. ์†์— ๋“ค๊ณ  ์žˆ๋Š” ๊ณ„๋ž€์œผ๋กœ ๊นจ์ง€์ง€ ์•Š์€ ๋‹ค๋ฅธ ๊ณ„๋ž€ ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ์นœ๋‹ค. ๋‹จ, ์†์— ๋“  ๊ณ„๋ž€์ด ๊นจ์กŒ๊ฑฐ๋‚˜ ๊นจ์ง€์ง€ ์•Š์€ ๋‹ค๋ฅธ ๊ณ„๋ž€์ด ์—†์œผ๋ฉด ์น˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ„๋‹ค. ์ดํ›„ ์†์— ๋“  ๊ณ„๋ž€์„ ์›๋ž˜ ์ž๋ฆฌ์— ๋‚ด๋ ค๋†“๊ณ  3๋ฒˆ ๊ณผ์ •์„ ์ง„ํ–‰ํ•œ๋‹ค. 3. ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋“  ๊ณ„๋ž€์˜ ํ•œ ์นธ ์˜ค๋ฅธ์ชฝ ๊ณ„๋ž€์„ ์†์— ๋“ค๊ณ  2๋ฒˆ ๊ณผ์ •์„ ๋‹ค์‹œ ์ง„ํ–‰ํ•œ๋‹ค. ๋‹จ, ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋“  ๊ณ„๋ž€์ด ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜ํ•œ ๊ณ„๋ž€์ผ ๊ฒฝ์šฐ ๊ณ„๋ž€์„ ์น˜๋Š” ๊ณผ์ •.. 2021. 9. 24.
๋ฐ˜์‘ํ˜•