Algorithm

    [Algorithm] BOJ ๋‹ค๋ฆฌ๋†“๊ธฐ - 1010๋ฒˆ

    1. ๋ฌธ์ œ ํ’€์ด ๋‹ค๋ฆฌ ๋†“๊ธฐ๋Š” ์ผ์ง์„  ๋ชจ์–‘์˜ ๊ฐ•์˜ ๋™์ชฝ๊ณผ ์„œ์ชฝ์— ๋‹ค๋ฆฌ๋ฅผ ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ๋†“์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์„œ์ชฝ๊ณผ ๋™์ชฝ์—๋Š” ๊ฐ N๊ฐœ์™€ M๊ฐœ์˜ ๋‹ค๋ฆฌ๋ฅผ ๋‘˜ ์ˆ˜ ์žˆ๋Š” ๊ณณ์ด ์žˆ๊ณ  0 > ca; //๊ฒฝ์šฐ์˜ ์ˆ˜ long long count = 1; for (int i ..

    [Algorithm] BOJ ๋™์ „ 1 - 2293๋ฒˆ

    1. ๋ฌธ์ œ ํ’€์ด n ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ๋™์ „์œผ๋กœ ๊ทธ ๊ฐ€์น˜์˜ ํ•ฉ์ด k์›์ด ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๊ฐ๊ฐ์˜ ๋™์ „์€ ๋ช‡๊ฐœ๋ผ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ์šฐ์„  ํ•ด๋‹น ๊ฐ’์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ๊ฐ’์˜ ๋ฐฐ์ˆ˜ ์ผ๋•Œ 1๋ฒˆ. ์ˆœ์—ด์œผ๋กœ ๋งŒ๋“ค์—ˆ์„๋•Œ ๋‘๊ฐ€์ง€ ๋™์ „์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ = ์ด์ „ ๋™์ „์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ + ํ˜„์žฌ ๋™์ „์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ ๊ฐ€ ๋˜๋Š”๊ฒƒ์ด๋‹ค. ์ด๊ฒƒ์„ ์ ํ™”์‹์œผ๋กœ ์ธ๋ฑ์Šค์— ๊ธฐ๋กํ•ด๊ฐ€๋ฉฐ ๋”ํ•ด๊ฐ€๋ฉด ํ•ด๋‹น ๋™์ „๋“ค๋กœ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฒ˜์Œ ์ฒซ ์ธ๋ฑ์Šค์— ๊ฐ’์„ 1๋กœ ์„ค์ •ํ•˜๊ณ  ๊ทธ ๋’ค๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด ์ฒ˜์Œ coin์˜ ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ๋•Œ 1์ด ๋”ํ•ด์ง€๋„๋ก ํ–ˆ๋‹ค. 2. ์ฝ”๋“œ #include using namespa..

    [Algorithm] BOJ ํŒฐ๋ฆฐ๋“œ๋กฌ? - 10942๋ฒˆ

    1. ๋ฌธ์ œ ํ’€์ด ํŒฐ๋ฆฐ๋“œ๋กฌ? ๋ฌธ์ œ๋Š” ์ž์—ฐ์ˆ˜ N ์•ˆ์—์„œ S๋ฒˆ์งธ์™€ E๋ฒˆ์งธ ์ˆ˜๊นŒ์ง€ ํŒฐ๋ฆฐ๋“œ๋กฌ, ๊ณง ๊ฑฐ๊พธ๋กœ ์ฝ์–ด๋„ ์ œ๋Œ€๋กœ ์ฝ๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ์ง€ ์•Œ์•„๋‚ด๋Š” ๋ฌธ์ œ์ด๋‹ค. ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ ๊ฒฝ์šฐ์—๋Š” 1, ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” 0์„ ์ถœ๋ ฅํ•œ๋‹ค. ์šฐ์„  S๋ถ€ํ„ฐ E์‚ฌ์ด์˜ ์ฐจ๋ฅผ ๊ฑฐ๋ฆฌ๋ผ ๋ถ€๋ฅด๊ณ  S์™€ E์˜ ์‚ฌ์ด์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์„ ์ด์ฐจ์›๋ฐฐ์—ด์„ N*N ํฌ๊ธฐ๋กœ ์ƒ์„ฑํ–ˆ๋‹ค. ํŽ ๋ฆฐ๋“œ๋กฌ์˜ ํŒจํ„ด์€ S์™€ E ๋ณด๋‹ค 1์”ฉ ์ค„์–ด๋“  ๊ฑฐ๋ฆฌ๊ฐ€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๊ณ  S์™€ E๊ฐ€ ๊ฐ™์œผ๋ฉด ํŒฐ๋ฆฐ๋“œ๋กฌ์ด ๋˜๋Š” ๊ทœ์น™์„ ์ด์šฉํ•ด ํ•˜๋‚˜์”ฉ 1๋กœ ์ฑ„์›Œ๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์ดํ•˜์˜€๋‹ค. ๊ฑฐ๋ฆฌ๊ฐ€ 0, ๊ณง ๊ฐ™์€ ์ธ๋ฑ์Šค ์ผ๋•Œ๋Š” 1๋กœ ๋ชจ๋‘ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๊ณ  ๊ฑฐ๋ฆฌ๊ฐ€ 1์ผ๋•Œ j , j+1์ด ๊ฐ™์œผ๋ฉด 1๋กœ ์„ค์ •ํ–ˆ๋‹ค. ๊ฑฐ๋ฆฌ๊ฐ€ 2์ด์ƒ์ผ๋•Œ๋Š” ๊ฑฐ๋ฆฌ๋ฅผ j , ๋Œ€์ƒ์ธ๋ฑ์Šค๋ฅผ z ๋กœ while ๋ฌธ์„๋Œ๋ ค๊ฐ€๋ฉฐ z / j + z ๊ฐ€ ๊ฐ™๊ณ  ๊ทธ ์•ˆ์— ์ง์ „ ๊ฐ’์ด 1์ด..

    [Algorithm] ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žก๋„์™€ Big-O ๋ž€?

    ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ์–ด๋–ค ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ ์œ„ํ•ด ๊ฑฐ์ณ์•ผ ํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •๋“ค์˜ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ฐ€๋Š” ๋ฃจํŠธ๋Š” ๋‹ค์–‘ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. ๋ณต์žก๋„(Complexity)๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ฒ™๋„์ด๋‹ค. ๋ณต์žก๋„๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ๊ณต๊ฐ„ ๋ณต์žก๋„๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„ ํŠน์ •ํ•œ ํฌ๊ธฐ์˜ ์ž…๋ ฅ์— ๋Œ€ํ•˜์—ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์—ฐ์‚ฐ์ด ๋ช‡๋ฒˆ ์ด๋ฃจ์–ด์ง€๋Š” ์ง€๋ฅผ ํ‘œ๊ธฐ ๊ณต๊ฐ„ ๋ณต์žก๋„ ํŠน์ •ํ•œ ํฌ๊ธฐ์˜ ์ž…๋ ฅ์— ๋Œ€ํ•˜์—ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๋Š”์ง€๋ฅผ ์˜๋ฏธ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ๋‹ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณต์žก๋„๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•(Big O Notation) ๋ณต์žก๋„๋ฅผ ํ‘œํ˜„ํ• ๋•Œ์—๋Š” ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•์„ ..