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

CS/์•Œ๊ณ ๋ฆฌ์ฆ˜29

[๋ฐฑ์ค€ 11724 ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜] ํŒŒ์ด์ฌ BFS ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ ํ’€์ด ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ๋ฌธ์ œ 11724๋ฒˆ: ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 1,000, 0 โ‰ค M โ‰ค Nร—(N-1)/2) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฐ„์„ ์˜ ์–‘ ๋์  u์™€ v๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค u, v โ‰ค N, u โ‰  v) ๊ฐ™์€ ๊ฐ„์„ ์€ ํ•œ ๋ฒˆ๋งŒ ์ฃผ๏ฟฝ๏ฟฝ www.acmicpc.net ๋ฑกํ–ฅ ์—†์€ ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์—ฐ๊ฒฐ ์š”์†Œ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด ์—ฐ๊ฒฐ ์š”์†Œ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์€ ์ฆ‰ ๋ช‡๊ฐœ์˜ ๊ตฌ์—ญ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋ฅผ ์œ„์™€ ๊ฐ™์ด ํ‘œํ˜„ํ–ˆ์„๋•Œ 2๊ฐœ์˜ ์˜์—ญ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. DFS, BFS ๋ชจ๋‘ ์‚ฌ์šฉํ•ด์„œ ํ’€์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ BFS๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ๊ทธ๋ž˜ํ”„ ์—ฐ๊ฒฐ ์ •๋ณด์šฉ ํ–‰๋ ฌ ์ƒ์„ฑ 2. BFS.. 2020. 9. 28.
[๋ฐฑ์ค€ 1012 ์œ ๊ธฐ๋† ๋ฐฐ์ถ”] ํŒŒ์ด์ฌ BFS ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ ํ’€์ด ์œ ๊ธฐ๋† ๋ฐฐ์ถ” ๋ฌธ์ œ 1012๋ฒˆ: ์œ ๊ธฐ๋† ๋ฐฐ์ถ” ์ฐจ์„ธ๋Œ€ ์˜๋†์ธ ํ•œ๋‚˜๋Š” ๊ฐ•์›๋„ ๊ณ ๋žญ์ง€์—์„œ ์œ ๊ธฐ๋† ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ๋†์•ฝ์„ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐฐ์ถ”๋ฅผ ์žฌ๋ฐฐํ•˜๋ ค๋ฉด ๋ฐฐ์ถ”๋ฅผ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ๋‚˜๋Š” ํ•ด์ถฉ ๋ฐฉ์ง€์— ๏ฟฝ www.acmicpc.net 2์ฐจ์› ๋ฐฐ์—ด์˜ ์œ ๊ธฐ๋† ๋ฐฐ์ถ”๋ฐญ์ด ์ฃผ์–ด์ง€๊ณ  0(๋•…) ๊ณผ 1(๋ฐฐ์ถ” ์‹ฌ์–ด์ ธ ์žˆ๋Š” ๋•…)๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์ถ”ํฐ ์ง€๋ ์ด๋ฅผ ๋ฐฐ์ถ”์— ์„œ์‹ํ•˜๊ฒŒ ํ•˜๋ฉด ์‚ฌ๋ฐฉ๋ฉด์œผ๋กœ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜์—ฌ ๋‹ค๋ฅธ ๋ฐฐ์ถ”๋ฅผ ํ•ด์ถฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•„์š”ํ•œ ๋ฐฐ์ถ”ํฐ ์ง€๋ ์ด์˜ ๋งˆ๋ฆฌ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ ๋ฐ›๋Š” ์ •๋ณด๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐฐ์ถ” ๋ฐญ์„ 2์ฐจ์› ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด 4๋ฐฉ๋ฉด์œผ๋กœ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ๊ฐ ์˜์—ญ๋‹น ํ•œ๋งˆ๋ฆฌ์˜ ๋ฐฐ์ถ”ํฐ ์ง€๋ ์ด๋ฅผ ๋ฐฐ์น˜ํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, .. 2020. 9. 28.
[๋ฐฑ์ค€ 10026 ์ ๋ก์ƒ‰์•ฝ] ํŒŒ์ด์ฌ BFS ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ ํ’€์ด ์ ๋ก์ƒ‰์•ฝ ๋ฌธ์ œ 10026๋ฒˆ: ์ ๋ก์ƒ‰์•ฝ ์ ๋ก์ƒ‰์•ฝ์€ ๋นจ๊ฐ„์ƒ‰๊ณผ ์ดˆ๋ก์ƒ‰์˜ ์ฐจ์ด๋ฅผ ๊ฑฐ์˜ ๋Š๋ผ์ง€ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ์€ ์•„๋‹Œ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ๊ณผ๋Š” ์ข€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ Nร—N์ธ ๊ทธ๋ฆฌ๋“œ์˜ ๊ฐ ์นธ์— R(๋นจ๊ฐ•), G(์ดˆ๋ก) www.acmicpc.net RGB 3๊ฐ€์ง€ ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ N * N ๋ณด๋“œํŒ์ด ์ฃผ์–ด์งˆ๋•Œ ์ผ๋ฐ˜์‚ฌ๋žŒ๊ณผ ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ตฌ์—ญ์˜ ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ ๋ก์ƒ‰์•ฝ์€ R๊ณผ G๋ฅผ ํ•˜๋‚˜์˜ ์ƒ‰์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌ์—ญ์ด ๋‚˜๋‰˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ํ’€์ด 2์ฐจ์› ๋ฐฐ์—ด์˜ ์˜์—ญ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋กœ BFS ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ ํ’€๋ฉด ๋ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, 2๊ฐ€์ง€ ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— 2๊ฐ€์ง€ ๋ฒ„์ „์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. N์˜ ์ตœ๋Œ€ .. 2020. 9. 27.
๋ฐฑ์ค€ 14500๋ฒˆ ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ์™„์ „ํƒ์ƒ‰(brute-force) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ :: ์ฝ”๋“œ์ž๋ชฝ [๋ฐฑ์ค€] 14500๋ฒˆ ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ 14500๋ฒˆ: ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋ž€ ํฌ๊ธฐ๊ฐ€ 1ร—1์ธ ์ •์‚ฌ๊ฐํ˜•์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ด์–ด์„œ ๋ถ™์ธ ๋„ํ˜•์ด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐํ˜•์€ ์„œ๋กœ ๊ฒน์น˜๋ฉด ์•ˆ ๋œ๋‹ค. ๋„ํ˜•์€ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐํ˜•์˜ ๋ณ€๋ผ๋ฆฌ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ฆ‰, ๊ผญ์ง“์ ๊ณผ ๊ผญ์ง“์ ๋งŒ ๋งž๋‹ฟ์•„ ์žˆ์œผ๋ฉด ์•ˆ ๋œ๋‹ค. ์ •์‚ฌ๊ฐํ˜• 4๊ฐœ๋ฅผ ์ด์–ด ๋ถ™์ธ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋Š” ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ๋ผ๊ณ  ํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ 5๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์•„๋ฆ„์ด๋Š” ํฌ๊ธฐ๊ฐ€ Nร—M์ธ ์ข…์ด ์œ„์— ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ํ•˜๋‚˜๋ฅผ ๋†“์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ข…์ด๋Š” 1ร—1 ํฌ๊ธฐ์˜ ์นธ์œผ๋กœ ๋‚˜๋ˆ„ www.acmicpc.net ํ’€์ด ์ด๋Ÿฐ ๋ธ”๋ก ํ˜•ํƒœ์˜ ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ค๋ฉด ์‹ค์ œ๋กœ ๋„ํ˜•์„ ๊ทธ๋ ค๋ณด๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋จผ์ € N*M ํฌ๊ธฐ์˜ ์ข…์ด ์œ„์— ๋ธ”๋ก ํ•˜๋‚˜๋งŒ ๋†“๋Š”๋‹ค๊ณ  ํ–ˆ์œผ๋‹ˆ.. 2019. 12. 23.
๋ฐฑ์ค€ 2309๋ฒˆ ์ผ๊ณฑ ๋‚œ์Ÿ์ด ์™„์ „ํƒ์ƒ‰(brute-force) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ :: ์ฝ”๋“œ ์ž๋ชฝ ์™„์ „ ํƒ์ƒ‰ Brute-Force ์™„์ „ ํƒ์ƒ‰์€ ๋ง ๊ทธ๋Œ€๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜์ˆ˜๋ฅผ ์ผ์ผ์ด ํƒ์ƒ‰ํ•˜์—ฌ ์ •๋‹ต์„ ์ฐพ์•„๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์„ ๋ชจ๋‘ ํ™•์ธํ•˜์—ฌ ์ •ํ™•๋„๊ฐ€ ๋†’๊ณ  ๊ฐ•๋ ฅํ•œ ๋ฐฉ์‹์ด์ง€๋งŒ, ์‹œ๊ฐ„์€ ๋‹ค์†Œ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ธŒ๋ฃจํŠธ ํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ฌธ์ œ์˜ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋จผ์ € ๊ณ„์‚ฐ์„ ํ•ด๋ด์•ผํ•œ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ 1์ดˆ์— ๋Œ€๋žต 1์–ต ๋ฒˆ ์ •๋„์˜ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ํšจ์œจ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ๋ธŒ๋ฃจํŠธ ํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฌธ์ œ๋ฅผ ์ ‘๊ทผํ•  ๊ฒฝ์šฐ ๊ธฐ์ค€์€ ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "์ฒœ๋งŒ(10,000,000) ๊ฑด ์ดํ•˜์˜ ๊ฒฝ์šฐ ์ˆ˜๊ฐ€ ์กด์žฌํ•  ๋•Œ๋งŒ ๋ธŒ๋ฃจํŠธ ํฌํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค."๋ผ๋Š” ๊ธฐ์ค€์„ ์ •ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•˜๋‹ค. [๋ฐฑ์ค€] 2309๋ฒˆ ์ผ๊ณฑ ๋‚œ์Ÿ์ด 2309๋ฒˆ: ์ผ๊ณฑ ๋‚œ์Ÿ์ด ์•„ํ™‰ ๊ฐœ์˜ ์ค„์— ๊ฑธ.. 2019. 12. 23.
์†Œ์ˆ˜(Prime Number) ๊ตฌํ•˜๊ธฐ ํšจ์œจ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜ :: ์ฝ”๋“œ์ž๋ชฝ ์†Œ์ˆ˜(Prime Number) ์†Œ์ˆ˜๋Š” ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ๋‘๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ๊ณฑํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” 1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜์ด๋‹ค. ex) 5๋Š” 5*1 ๋˜๋Š” 1*5๋กœ ์ˆ˜๋ฅผ ๊ณฑํ•ฉ ๊ฒฐ๊ณผ๋ฅผ ์ ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด ๊ทธ ์ˆ˜ ์ž์‹ ์„ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— 5๋Š” ์†Œ์ˆ˜์ด๋‹ค. ์†Œ์ˆ˜ (์ˆ˜๋ก ) - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ์ขŒ์ธก์€ ์†Œ์ˆ˜, ์šฐ์ธก์€ ํ•ฉ์„ฑ์ˆ˜. ์†Œ์ˆ˜๋ž€ ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ๋‘ ์ž์—ฐ์ˆ˜๋ฅผ ๊ณฑํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” 1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์†Œ์ˆ˜(็ด ๆ•ธ, ๋ฐœ์Œ: [์†Œ์‘ค], ๋ฌธํ™”์–ด: ์”จ์ˆ˜, ์˜์–ด: prime number)๋Š” ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ๊ณฑํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” 1๋ณด๋‹ค ํฐ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5๋Š” 1x5 ๋˜๋Š” 5x1๋กœ ์ˆ˜๋ฅผ ๊ณฑํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด ๊ทธ ์ˆ˜ ์ž์‹ ์„ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ์— 5๋Š” ์†Œ์ˆ˜์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ .. 2019. 12. 22.
์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD), ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM) ๊ตฌํ•˜๊ธฐ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜ :: ์ฝ”๋“œ์ž๋ชฝ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ GCD(Greatest Common Divisor) ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” ๋‘ ์ž์—ฐ์ˆ˜์˜ ๊ณตํ†ต๋œ ์•ฝ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ex) 72 ์™€ 30์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” 6์ด๋‹ค. ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ LCM(Least Common Multiple) ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” ๋‘ ์ž์—ฐ์ˆ˜์˜ ๊ณตํ†ต๋œ ๋ฐฐ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ = ๋‘ ์ž์—ฐ์ˆ˜์˜ ๊ณฑ / ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ex) 72 ์™€ 30์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” 360์ด๋‹ค. ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•(Euclidean Algorithm) 2๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ๋ฐ›์•„ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด 2๋ถ€ํ„ฐ ๋‘ ์ž์—ฐ์ˆ˜ ์ค‘ ์ž‘์€ ์ž์—ฐ์ˆ˜๊นŒ์ง€ ๋ชจ๋‘ ๋‚˜๋ˆ„์–ด๋ณด๋ฉด์„œ ๊ฐ€์žฅ ํฐ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N)์ด ๋œ๋‹ค. ๋‚˜์œ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ์ง€๋งŒ ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์ด๋ž€ ์•Œ๊ณ ๋ฆฌ์ฆ˜.. 2019. 12. 22.
JAVA ์ž๋ฐ”๋กœ ๋น„ํŠธ์—ฐ์‚ฐ ์•Œ์•„๋ณด๊ธฐ :: ์ฝ”๋“œ ์ž๋ชฝ ๋น„ํŠธ์—ฐ์‚ฐ์ž ๋น„ํŠธ์—ฐ์‚ฐ์€ 2์ง„์ˆ˜ํ˜•ํƒœ์˜ ์ˆซ์ž 0๊ณผ 1๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์ด๋‹ค. ์ž๋ฐ”์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ 6๊ฐ€์ง€๋ฅผ ์•Œ์•„๋ณด์ž.๋น„ํŠธ์—ฐ์‚ฐ์ž๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋”๋Ÿฌ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์ค„์—ฌ ์ฃผ๋Š” ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์™ผ์ชฝ ์‹œํ”„ํŠธ( y ํ˜•์‹์œผ๋กœ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ณ  x์˜ ๋น„ํŠธ๋ฅผ ์™ผ์ชฝ์œผ๋กœ y์นธ ์ด๋™์‹œํ‚จ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.ex) 1111 >> 2 = 111111(15) ์ด 11(3)๋กœ ๋ณ€ํ˜•๋˜๋Š” ๊ฒƒ์„ ๋ณด๋ฉด x / 2^y ์œผ๋กœ ๋‚˜๋จธ์ง€๋ฅผ ์ œ์™ธํ•œ ๋ชซ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋น„ํŠธ์˜ ๋ณด์ˆ˜(~)์ด์ง„์ˆ˜์˜ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊พผ๋‹ค. 0 ์ด๋ฉด 1, 1์ด๋ฉด 0์œผ๋กœ ๋ฐ”๊พผ๋‹ค. ๋ณด์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ 32์ž๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.~x ํ˜•์‹์œผ๋กœ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  x์˜ ๋ณด์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค.ex) ~01.. 2019. 11. 23.
[๋ฐฐ์—ด] ๋ถ€๋ถ„์ง‘ํ•ฉ ๊ด€๋ จ ๋ฌธ์ œ ๋น„ํŠธ์—ฐ์‚ฐ์œผ๋กœ ํ’€๊ธฐ :: ์ฝ”๋“œ์ž๋ชฝ ๋ถ€๋ถ„์ง‘ํ•ฉ ๊ตฌํ•˜๊ธฐ ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ์„๋•Œ ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž. ์•„๋ž˜ ๊ธฐ๋ณธ ๋ฌธ์ œ๋ฅผ ์„ค๋ช… ๋ฐ ์ฝ”๋“œ์ƒ˜ํ”Œ์„ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ๋จผ์ € ํ’€์–ด๋ณด์ž. ๊ธฐ๋ณธ ๋ฌธ์ œ {1, 2, 3, 4, -1, -5} ์œ„ ๋ฐฐ์—ด์—์„œ ํ™€์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์„ ๋ชจ๋‘ ์ถœ๋ ฅ ํ•˜์‹œ์˜ค. ๊ฐ„๋‹จํ•ด ๋ณด์ด์ง€๋งŒ ๋น„ํŠธ์—ฐ์‚ฐ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์šด ๋ฌธ์ œ์ด๋‹ค. ์œ„ ๋ฌธ์ œ๋ฅผ ์™„์ „ํƒ์ƒ‰ ํ˜น์€ ๋ฐฐ์—ด์˜ ์œ„์น˜๋ฅผ ์ด์šฉํ•ด์„œ ํ’€๊ฒ ๋‹ค๊ณ  ์ ‘๊ทผํ–ˆ์„๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์™„์ „ํƒ์ƒ‰ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€๋ ค๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ for๋ฌธ์„ ์ค‘์ฒฉํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์ด ์ปค์งˆ์ˆ˜๋ก ํšจ์œจ๋„ ๋–จ์–ด์ง€๊ณ  ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์ œ๊ณฑ์œผ๋กœ ๋Š˜์–ด๋‚˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐฐ์—ด์˜ ์œ„์น˜๋ฅผ ์ด์šฉํ•ด์„œ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜๋‹ค๋ณด๋‹ˆ 0๊ณผ 1์„ ์ด์šฉํ•˜์—ฌ ์ž๋ฆฌ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋– ์˜ค๋ฅด๊ฒŒ ๋ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„์˜ ๋ฌธ์ œ ์ฒ˜๋Ÿผ ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ๋Š”.. 2019. 11. 22.