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

Algorithm๐Ÿฐ96

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ•˜์ƒค๋“œ ์ˆ˜ basic ๋ฌธ์ œ : programmers.co.kr/learn/courses/30/lessons/12947 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ•˜์ƒค๋“œ ์ˆ˜ ์–‘์˜ ์ •์ˆ˜ x๊ฐ€ ํ•˜์ƒค๋“œ ์ˆ˜์ด๋ ค๋ฉด x์˜ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์œผ๋กœ x๊ฐ€ ๋‚˜๋ˆ„์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 18์˜ ์ž๋ฆฟ์ˆ˜ ํ•ฉ์€ 1+8=9์ด๊ณ , 18์€ 9๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฏ€๋กœ 18์€ ํ•˜์ƒค๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์—ฐ์ˆ˜ x๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ x๊ฐ€ ํ•˜ programmers.co.kr ๋ถ„์„ : %์™€ / ๋ฅผ ์ด์šฉํ•œ ๋ˆ„์  ๊ฐ’ ๊ณ„์‚ฐ ๋ฌธ์ œ๋‹ค. temp ๋ณ€์ˆ˜๋ฅผ ์•ˆ ์“ฐ๊ณ  x์›๋ณธ ๊ฐ’์„ ๋‚˜๋ˆ„๊ณ  ๋งˆ์ง€๋ง‰์— ๋น„๊ตํ•˜๋Š” ์ž‘์—…์„ ํ–ˆ๋”๋‹ˆ ๊ณ„์† ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค ๋‹ค์Œ๋ถ€ํ„ด ์‹ค์ˆ˜ ์•ˆํ•ด์•ผ์ง€ c++ ์ฝ”๋“œ : #include #include using namespace std; bool solution(int x) { bool answer = true; int s.. 2021. 2. 24.
[๋ฐฑ์ค€] 2667 ๋‹จ์ง€ ๋ฒˆํ˜ธ ๋ถ™์ด๊ธฐ BFS ๋ฌธ์ œ : www.acmicpc.net/problem/2667 2667๋ฒˆ: ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ ๊ณผ ๊ฐ™์ด ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ์ง€๋„๊ฐ€ ์žˆ๋‹ค. 1์€ ์ง‘์ด ์žˆ๋Š” ๊ณณ์„, 0์€ ์ง‘์ด ์—†๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ด ์ง€๋„๋ฅผ ๊ฐ€์ง€๊ณ  ์—ฐ๊ฒฐ๋œ ์ง‘์˜ ๋ชจ์ž„์ธ ๋‹จ์ง€๋ฅผ ์ •์˜ํ•˜๊ณ , ๋‹จ์ง€์— ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๋ ค ํ•œ๋‹ค. ์—ฌ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” BFS๋กœ ํ’€์—ˆ๋‹ค.(DFS๋กœ ํ’€์–ด๋„ ๋…ธ์ƒ๊ด€) ์ „ํ˜•์ ์ธ BFS ๋ฌธ์ œ์ด์ง€๋งŒ ๋Š์–ด์ง„ ๋ฐฉ๋ฌธ ์œ„์น˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ข…๋งŒ๋ถ์—์„œ ๋ณด์•˜๋˜ ๊ฒƒ์ฒ˜๋Ÿผ BFS_ALL์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. c++ ์ฝ”๋“œ : // // 2667_complex.cpp // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป // // Created by JoSoJeong on 2021/02/14. // #include #include #include #include #i.. 2021. 2. 19.
[๋ฐฑ์ค€] 18870 ์ขŒํ‘œ ์••์ถ• ๋ฌธ์ œ : www.acmicpc.net/problem/18870 18870๋ฒˆ: ์ขŒํ‘œ ์••์ถ• ์ˆ˜์ง์„  ์œ„์— N๊ฐœ์˜ ์ขŒํ‘œ X1, X2, ..., XN์ด ์žˆ๋‹ค. ์ด ์ขŒํ‘œ์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Xi๋ฅผ ์ขŒํ‘œ ์••์ถ•ํ•œ ๊ฒฐ๊ณผ X'i์˜ ๊ฐ’์€ Xi > Xj๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ขŒํ‘œ์˜ ๊ฐœ์ˆ˜์™€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค. X1, X2, ..., XN์— ์ขŒ www.acmicpc.net ๋ถ„์„ : ์ขŒํ‘œ ์••์ถ•์€ ์ˆ˜์ง์„  ์ƒ ๋„“์€ ๋ฒ”์œ„์— ๋น„ํ•ด ์ ์€ ์ ์„ ์ฐ๋Š” ๊ฒƒ์ด ๋น„ํšจ์œจ์ ์ด๋ผ๋Š” ์ ์—์„œ ๊ณ ์•ˆํ•œ ๊ธฐ์ˆ ์ด๋‹ค. ( ์œ„ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค.) ์ ์˜ ์ขŒํ‘œ๋ฅผ ์ธ๋ฑ์‹ฑํ•˜์—ฌ ์ •๋ ฌ๋œ ์ˆœ์„œ๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ธฐ๋Š” ๋ฐฉ์‹์ด๋‹ค. unique : ex > unique(index.begin(), index.end()) index ๋ผ๋Š” ๋ฒกํ„ฐ์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์›์†Œ๋ฅผ ์žฌ.. 2021. 2. 19.
[๋ฐฑ์ค€] 2660 ํšŒ์žฅ ๋ฝ‘๊ธฐ Floyd Warshall ๋ฌธ์ œ : www.acmicpc.net/problem/2660 2660๋ฒˆ: ํšŒ์žฅ๋ฝ‘๊ธฐ ์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์—๋Š” ํšŒ์›์˜ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๋‹จ, ํšŒ์›์˜ ์ˆ˜๋Š” 50๋ช…์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‘˜์งธ ์ค„ ์ดํ›„๋กœ๋Š” ํ•œ ์ค„์— ๋‘ ๊ฐœ์˜ ํšŒ์›๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์€ ๋‘ ํšŒ์›์ด ์„œ๋กœ ์นœ๊ตฌ์ž„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํšŒ์›๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ ์—ญ์‹œ ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์„ ์ด์šฉํ•ด ํ’€์—ˆ๋‹ค. ๋ฌธ์ œ ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ๋˜์—ˆ๋Š”๋ฐ ํšŒ์žฅ ํ›„๋ณด์˜ ์ ์ˆ˜, ํšŒ์žฅ ํ›„๋ณด์˜ ์ˆ˜ ํšŒ์žฅ ํ›„๋ณด ์ธ๋ฑ์Šค ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์ด ๋ชจ์ž„์€ ์นœ๊ตฌ, ์นœ๊ตฌ์˜ ์นœ๊ตฌ, ์นœ๊ตฌ์˜ ์นœ๊ตฌ์˜ ์นœ๊ตฌ .. ๊ด€๊ณ„์— ๋Œ€ํ•ด์„œ 1, 2, 3์ ์„ ๊ฐ€์ง„๋‹ค. ํšŒ์žฅ์€ ์ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ์ฆ‰ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์— ๋Œ€ํ•ด์„œ ์นœ๊ตฌ์ธ ์‚ฌ๋žŒ์ด ํšŒ์žฅ ํ›„๋ณด๋กœ ์ ํ•ฉํ•˜๋‹ค๊ณ  ์–˜๊ธฐํ•œ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ํ•œ ์‚ฌ๋žŒ์ด ์นœ๊ตฌ, ์นœ๊ตฌ์˜ ์นœ๊ตฌ ๊ด€.. 2021. 2. 18.
[๋ฐฑ์ค€] 11403 ๊ฒฝ๋กœ ์ฐพ๊ธฐ Floyd Warshall ๋ฌธ์ œ : www.acmicpc.net/problem/11403 11403๋ฒˆ: ๊ฒฝ๋กœ ์ฐพ๊ธฐ ๊ฐ€์ค‘์น˜ ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ G๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ์ •์  (i, j)์— ๋Œ€ํ•ด์„œ, i์—์„œ j๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด๋ณด์•˜๋‹ค. ๋ฐฑ์ค€ ๋…ผ์˜ ๋ณด๋‹ˆ๊นŒ DFS, BFS ๋กœ๋„ ํ’€ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„ ๋ณด์˜€๋‹ค. ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์€ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๋ชจ๋“  ์ •์ ์—์„œ ๋ชจ๋“  ์ •์ ์œผ๋กœ์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ€์žฅ ์ ์€ ๋น„์šฉ์„ ํ•˜๋‚˜์”ฉ ์„ ํƒํ–ˆ๋‹ค๋ฉด ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์€ ๊ฑฐ์ณ๊ฐ€๋Š” ์ •์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด ํฌ์ธํŠธ์˜€๋‹ค. ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ์€ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์˜๊ฑฐํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ฐ€์žฅ ์ดํ•ด๋˜๋Š” .. 2021. 2. 18.
[๋ฐฑ์ค€] 2178 ๋ฏธ๋กœ ํƒ์ƒ‰ bfs ๋ฌธ์ œ : www.acmicpc.net/problem/2178 2178๋ฒˆ: ๋ฏธ๋กœ ํƒ์ƒ‰ ์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” M๊ฐœ์˜ ์ •์ˆ˜๋กœ ๋ฏธ๋กœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์ˆ˜๋“ค์€ ๋ถ™์–ด์„œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๊ฒฝ๋กœ ํƒ์ƒ‰ ๋ฌธ์ œ์ด๋‹ค. DFS, BFS ๋‘˜ ์ค‘ ์•„๋ฌด๊ฑฐ๋‚˜ ํ’€์–ด๋„ ์ƒ๊ด€ ์—†์–ด ๋ณด์ธ๋‹ค. ๋‚˜๋Š” BFS ์—ฐ์Šต์„ ์œ„ํ•ด BFS ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋‹ค. cin ์€ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ input์„ ๋ฐ›๋Š” ๊ฒƒ ๊ฐ™์•„์„œ scanf์˜ ๋„์›€์„ ๋ฐ›์•˜๋‹ค. cin ์œผ๋กœ ํ’€ ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ• ์•Œ๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿฅบ 2์ฐจ์› ํ–‰๋ ฌ์— ๊ฐ’์ด 1 (์ง€๋‚˜๊ฐˆ ์ˆ˜์žˆ๋Š” ์นธ) ์ธ๊ฒฝ์šฐ true๋กœ ๋‹ด์•˜๊ณ  ์•„๋‹ˆ๋ฉด false๋กœ ๊ฐ’์„ ์ดˆ๊ธฐํ™” ํ•˜์˜€๋‹ค. ์ด ๋ฌธ์ œ๋Š” input ๊ฐ’์ด 0.. 2021. 2. 17.
[๋ฐฑ์ค€] 1931 ํšŒ์˜์‹ค ๋ฐฐ์ • ๋ฌธ์ œ : www.acmicpc.net/problem/1931 1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ • (1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๋Œ€ํ‘œ์ ์ธ greedy algorithm์œผ๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ์ด๋‹ค. ํšŒ์˜์‹ค, ๊ฐ€๋ฐฉ ๋ฐฐ๋‚ญ ๋“ฑ ๊ณ ์ „์ ์ธ ๋ฌธ์ œ ์œ ํ˜•์ธ๊ฑฐ ๊ฐ™๋‹ค. ๋ฒกํ„ฐ์— ์ธํ’‹๊ฐ’์„ ๋ชจ๋‘ ๋‹ด์€ ๋’ค ํ•ต์‹ฌ์€ ํšŒ์˜๊ฐ€ ๋๋‚˜๋Š” ์‹œ๊ฐ„ second ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์„ ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  for๋ฌธ์„ ๋Œ๋ฉด์„œ ๊ฒ€์‚ฌํ•˜๋Š”๋ฐ ์ด์ „ ํšŒ์˜์˜ ๋๋‚˜๋Š” ์‹œ๊ฐ„ < ๋‹ค์Œ ํšŒ์˜ ์‹œ๊ฐ„ ์ด๋ฉด์€ ํšŒ์˜๊ฐ€ ์‹œ์ž‘ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ cnt ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ ํšŒ์˜์˜ ๊ฐฏ์ˆ˜๋ฅผ ์…Œ๋‹ค. c++ ์ฝ”๋“œ : // // 1931_room.cpp // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป // // Created by JoSoJeong.. 2021. 2. 17.
[๋ฐฑ์ค€] 19598 ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜ ๋ฌธ์ œ : www.acmicpc.net/problem/19598 19598๋ฒˆ: ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜ ์„œ์ค€์ด๋Š” ์•„๋น ๋กœ๋ถ€ํ„ฐ N๊ฐœ์˜ ํšŒ์˜๋ฅผ ๋ชจ๋‘ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ๋Š” ๋ฏธ์…˜์„ ๋ฐ›์•˜๋‹ค. ๊ฐ ํšŒ์˜๋Š” ์‹œ์ž‘ ์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ์ฃผ์–ด์ง€๊ณ  ํ•œ ํšŒ์˜์‹ค์—์„œ ๋™์‹œ์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ํšŒ์˜ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ์ฃผ์–ด์ง„ ์ธํ’‹์— ๋Œ€ํ•ด ํ•„์š”๋กœ ๋˜๋Š” ์ตœ์†Œ ํšŒ์˜์‹ค ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋‹ค. greedy๋ฅผ ์ด์šฉํ•ด ํ’€์—ˆ๊ณ  ํšŒ์˜์‹ค์ด 3๊ฐœ, ํšŒ์˜์‹ค ์ด์šฉ ์‹œ๊ฐ„์€ 0 40 15 30 5 10 ์œผ๋กœ ์ฃผ์–ด์งˆ ๋•Œ 1. ํšŒ์˜ ์‹œ์ž‘ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์„ ํ•œ๋‹ค. 0 40 5 10 15 30 ํ•จ์ˆ˜ ์•ˆ์—์„œ ์ฒ˜์Œ์— 0, 40์„ vv vector์— ๋‹ด์€ ๋’ค v ํ•จ์ˆ˜ ๋‹ค ๋Œ ๋•Œ๊นŒ์ง€ vv ํฌ๊ธฐ๋งŒํผ if๋ฌธ์„ ๋Œ๊ฒŒ๋œ๋‹ค. else ๋ฌธ.. 2021. 2. 17.
[๋ฐฑ์ค€] 10818 ์ตœ์†Œ, ์ตœ๋Œ€ ๋ฌธ์ œ : www.acmicpc.net/search#q=10818&c=Problems ๊ฒ€์ƒ‰ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๋ชปํ‘ผ ๋ฌธ์ œ์— ์žˆ๊ธธ๋ž˜ ํด๋ฆญ ํ•ด๋ณด๋‹ˆ ๋น„๊ต์  ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋ผ์„œ ํ’€์—ˆ๋‹ค. 1๋…„์ „ ๋ฌธ์ œ๋ผ๋‹ˆ ์„ธ์›”์ด ๋น ๋ฅด๊ตฌ๋‚˜ * ๋ฐ˜๋ก€๋กœ 1 10 ์ผ€์ด์Šค์™€ 2 10 10 ์ผ€์ด์Šค๊ฐ€ ์žˆ์œผ๋‹ˆ ์ž˜ ์ƒ๊ฐํ•ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค. ์ฒ˜์Œ์—๋Š” for๋ฌธ ํ•˜๋‚˜์— input ๊ฐ’ ๋„ฃ๊ณ  ๋ฐ”๋กœ ๋น„๊ต ํ•˜๋ ค ํ–ˆ๋Š”๋ฐ ์œ„ ๋‘ ์ผ€์ด์Šค ๋•Œ๋ฌธ์— ๋ถ„๋ฆฌํ•ด์„œ ๋‹ด์•„์คฌ๋‹ค. C++ ์ฝ”๋“œ : // // 10818_min_max.cpp // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป // // Created by JoSoJeong on 2021/02/12. // #include #include #include using namespace std; int main(){ int n, max.. 2021. 2. 16.
[๋ฐฑ์ค€] 2110 ๊ณต์œ ๊ธฐ ์„ค์น˜ ๋ฌธ์ œ : www.acmicpc.net/problem/2110 2110๋ฒˆ: ๊ณต์œ ๊ธฐ ์„ค์น˜ ์ฒซ์งธ ์ค„์— ์ง‘์˜ ๊ฐœ์ˆ˜ N (2 ≤ N ≤ 200,000)๊ณผ ๊ณต์œ ๊ธฐ์˜ ๊ฐœ์ˆ˜ C (2 ≤ C ≤ N)์ด ํ•˜๋‚˜ ์ด์ƒ์˜ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ง‘์˜ ์ขŒํ‘œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” xi (0 ≤ xi ≤ 1,000,000,000)๊ฐ€ www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ๋‚ด ๊ธฐ์ค€์„ ์—์„œ ์กฐ๊ธˆ ์‹ ๋ฐ•ํ–ˆ๋˜ (?) ์ด๋ถ„(์ด์ง„) ํƒ์ƒ‰ ๋ฌธ์ œ์˜€๋‹ค. ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ์—๋„ ํ—ท๊ฐˆ๋ ธ๋‹ค. ์ฒ˜์Œ์— ์ •๋ ฌ์„ ํ•œ ๋’ค start ์™€ end ๋ณ€์ˆ˜๋ฅผ ๊ฐ„๊ฒฉ์˜ ์ตœ์†Œ, ์ตœ๋Œ€ ๊ฑฐ๋ฆฌ๋กœ ์„ค์ •ํ•ด ๋‘”๋’ค ์ด ์œ„์น˜๋ฅผ mid ๊ฐ’ ๋ณ€๊ฒฝ์„ ํ†ตํ•ด index ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝ ์‹œํ‚จ ๋’ค start ๊ฐ€ end ์ธ๋ฑ์Šค๋ณด๋‹ค ์ปค์ง€๊ฒŒ ๋˜๋ฉด ์ข…๋ฃŒํ•œ๋‹ค. ๋น„๊ต ๊ธฐ์ค€์€ mid ๊ฐ’์œผ๋กœ.. 2021. 2. 16.
[๋ฐฑ์ค€] 2252 ์ค„์„ธ์šฐ๊ธฐ ๋ฌธ์ œ : www.acmicpc.net/problem/2252 2252๋ฒˆ: ์ค„ ์„ธ์šฐ๊ธฐ ์ฒซ์งธ ์ค„์— N(1≤N≤32,000), M(1≤M≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. M์€ ํ‚ค๋ฅผ ๋น„๊ตํ•œ ํšŒ์ˆ˜์ด๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ํ‚ค๋ฅผ ๋น„๊ตํ•œ ๋‘ ํ•™์ƒ์˜ ๋ฒˆํ˜ธ A, B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” ํ•™์ƒ A๊ฐ€ ํ•™์ƒ B์˜ ์•ž์— ์„œ์•ผ ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด www.acmicpc.net ๋ถ„์„ : ์ด ๋ฌธ์ œ๋Š” ์ข…๋งŒ๋ถ DFS BFS ๋ถ€๋ถ„์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ œ ์ค‘ ์œ„์ƒ ์ •๋ ฌ์— ๊ด€ํ•œ ๋ฌธ์ œ์˜€๋‹ค. ์œ„์ƒ ์ •๋ ฌ์ด๋ž€ ์˜์กด์„ฑ์ด ์žˆ๋Š” ์ž‘์—…์ด ์ฃผ์–ด์งˆ ๋•Œ ์ด๋ฅผ ์–ด๋–ค ์ˆœ์„œ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ณ„์‚ฐํ•œ๋‹ค. ์ด๋•Œ ์˜์กด ๊ด€๊ณ„๋ฅผ DAG(์‚ฌ์ดํด ์—†๋Š” ๊ทธ๋ž˜ํ”„) ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์‚ฌ์ดํด์ด ์—†๋‹ค๋Š” ๋œป์€ ์ฆ‰ ํ•œ ๋ฐฉํ–ฅ์—์„œ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ํ˜๋Ÿฌ๊ฐ€๋Š” ๊ผด์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด DFS BFS ๋Š” ํŠธ๋ฆฌ .. 2021. 2. 14.
[๋ฐฑ์ค€] 10828 stack ๋ฌธ์ œ : www.acmicpc.net/problem/10828 10828๋ฒˆ: ์Šคํƒ ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์˜ ์ˆ˜ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ช…๋ น์ด ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋ฌธ์ œ์— ๋‚˜์™€์žˆ์ง€ www.acmicpc.net ๋ถ„์„ : ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๊ต์  ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ์˜€๋‹ค. ๋‹ค๋งŒ ์ฒ˜์Œ์œผ๋กœ segmentation fault ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋–ด๋Š”๋ฐ top ๋ถ€๋ถ„์— empty ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜์ง€ ์•Š์•„์„œ ๋‚œ ๋ฌธ์ œ์˜€๋‹ค. ์ •์˜๋œ ๋ฌธ์ œ๋ฅผ ์•ž์œผ๋ก  ๋” ์ž˜ ์ฝ์–ด์•ผ๊ฒ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฒ˜์Œ์œผ๋กœ cin ์ด ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌํ•ด ์ฝ๋Š”๋‹ค๋Š” ์ ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด getline ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๊ณ  cin ๊ณผ getline์„ ๊ฒธ์šฉ.. 2021. 2. 6.
[๋ฐฑ์ค€] 1915 ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• DP ๋ฌธ์ œ : www.acmicpc.net/problem/1915 1915๋ฒˆ: ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• ์ฒซ์งธ ์ค„์— n, m(1 ≤ n, m ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” m๊ฐœ์˜ ์ˆซ์ž๋กœ ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ถ„์„ : ๋Œ€ํ‘œ์ ์ธ DP ๋ฌธ์ œ๋กœ 1์”ฉ ๋”ํ•˜๋Š”๊ฒŒ ๊ณง ์ •์‚ฌ๊ฐํ˜•์˜ ํ•œ ๋ณ€์ด ๋œ๋‹ค๋Š” ๊ฒŒ ์‹ ๊ธฐํ–ˆ๋‹ค. DP๊ฐ€ ์ „์— ํ•œ๋ฒˆ ๊ณต๋ถ€ํ–ˆ์„ ๋•Œ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๋๋Š”๋ฐ ์ด๋ฒˆ์— ์กฐ๊ธˆ ์•Œ๊ฑฐ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์šฐ์„  arr์ด๋ผ๋Š” ์›๋ž˜ 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  memo๋ผ๋Š” ๋ฐฐ์—ด์— ๊ฐ’์„ ๊ณ„์‚ฐํ•ด ๋ˆ„์ ํ•œ๋‹ค. arr[i-1][j-1], arr[i-1][j], arr[i][j-1] ๋ชจ๋‘๊ฐ€ 1์ผ๋•Œ๋งŒ์ด arr[i][j]๊ณผ ํ•จ๊ป˜ ์ •์‚ฌ๊ฐํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ๋งŒ ๊ฒ€์‚ฌ ํ•œ ๋’ค 1์„ ๋”ํ•ด ํ•œ๋ณ€์„ memo ๋ฐฐ์—ด์— ๋ˆ„์ ํ•ด.. 2021. 2. 5.
[๋ฐฑ์ค€] 1987 ์•ŒํŒŒ๋ฒณ DFS ๋ฌธ์ œ : www.acmicpc.net/problem/1987 1987๋ฒˆ: ์•ŒํŒŒ๋ฒณ ์„ธ๋กœ R์นธ, ๊ฐ€๋กœ C์นธ์œผ๋กœ ๋œ ํ‘œ ๋ชจ์–‘์˜ ๋ณด๋“œ๊ฐ€ ์žˆ๋‹ค. ๋ณด๋“œ์˜ ๊ฐ ์นธ์—๋Š” ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ํ•˜๋‚˜์”ฉ ์ ํ˜€ ์žˆ๊ณ , ์ขŒ์ธก ์ƒ๋‹จ ์นธ (1ํ–‰ 1์—ด) ์—๋Š” ๋ง์ด ๋†“์—ฌ ์žˆ๋‹ค. ๋ง์€ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•œ ๋„ค ์นธ ์ค‘์˜ ํ•œ ์นธ์œผ www.acmicpc.net ๋ถ„์„ : ์œ„ ๋ฌธ์ œ๋Š” ์ „ํ˜•์ ์ธ DFS ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ์˜ค๋ฅธ์ชฝ๊ณผ ์•„๋ž˜์ชฝ์œผ๋กœ ๋‚˜์•„๊ฐ€๋Š” ๊ฒƒ๋งŒ ๊ณ ๋ คํ–ˆ๊ณ  ์ˆ˜ํ–‰ํ•œ ์•ŒํŒŒ๋ฒณ์€ set ํ•จ์ˆ˜์— ์ €์žฅํ•ด ๋†“์•„์•ผ์ง€ ์ƒ๊ฐํ•˜์—ฌ ์ ‘๊ทผํ–ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•ˆ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—ˆ๋‹ค ํ•˜ํ•˜ ๋งŒ์•ฝ ์ง„ํ–‰ ์ค‘ ๋™์ผํ•œ ์•ŒํŒŒ๋ฒณ์„ ๋งŒ๋‚œ๋‹ค๋ฉด ์ง„ํ–‰ํ•œ ๊ฒƒ์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ํ•˜์—ฌ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ํฌ์ธํŠธ์˜€๋‹ค. ์žฌ๊ท€ํ•จ์ˆ˜ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ถ”์ƒ์ ์ด๋ผ ์ž˜ ์ดํ•ด๊ฐ€์ง€ ์•Š์•„ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค๋„ ๋งŽ์ด ํ’€์–ด๋ด์•ผ๊ฒ .. 2021. 2. 5.
[๋ฐฑ์ค€] 2470 ๋‘์šฉ์•ก ์ด๋ถ„ํƒ์ƒ‰ ๋ฌธ์ œ : www.acmicpc.net/problem/2470 2470๋ฒˆ: ๋‘ ์šฉ์•ก ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์šฉ์•ก์˜ ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค. N์€ 2 ์ด์ƒ 100,000 ์ดํ•˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋“ค์€ ๋ชจ๋‘ -1,000,000,000 ์ด์ƒ 1,000,00 www.acmicpc.net ๋ถ„์„ : algorithm์˜ sort ํ•จ์ˆ˜๋Š” ๊ธฐ๋ณธ sort ํ•จ์ˆ˜์™€ ๋‹ฌ๋ฆฌ ๋งˆ์ง€๋ง‰ ์ธ์ž์— ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด 1) ๋ฐฐ์—ด์„ ์ ˆ๋Œ€๊ฐ’ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ 2) ์ ˆ๋Œ€๊ฐ’ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์›๋ž˜ ๊ฐ’ ๋ณ€์ˆ˜์— ์ €์žฅ ํ›„ ๋ˆ„์  3) ๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ฐ์„ฑ๊ณผ ์•Œ์นผ๋ฆฌ ๊ฐ’ ๊ตฌ๋ถ„ํ•ด swap ํ•˜์—ฌ ์ถœ๋ ฅ ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. c++ ์ฝ”๋“œ : // // 2470_soluti.. 2021. 2. 5.
[๋ฐฑ์ค€] 2467 ์šฉ์•ก ์ด๋ถ„ํƒ์ƒ‰ ๋ฌธ์ œ : www.acmicpc.net/problem/2467 2467๋ฒˆ: ์šฉ์•ก ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์šฉ์•ก์˜ ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค. N์€ 2 ์ด์ƒ 100,000 ์ดํ•˜์˜ ์ •์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ž…๋ ฅ๋˜๋ฉฐ, ์ด ์ˆ˜๋“ค์€ ๋ชจ๋‘ - www.acmicpc.net ๋ถ„์„ : ์ด ๋ฐฉ์‹์€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค. ์‚ฐ์„ฑ๊ณผ ์•Œ์นผ๋ฆฌ ์šฉ์•ก์„ ๊ตฌ๋ถ„ํ•ด ๋ฐฐ์—ด์— ๋‹ด์•˜๊ณ  ๊ฐ ๋ฐฐ์—ด์ด ๋๋‚ ๋•Œ๊นŒ์ง€ O(n^2)์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ๊ฐ€์žฅ ๋น„ํšจ์œจ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ‘ผ๊ฑฐ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋”ฑํžˆ map ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋˜์—ˆ๋Š”๋ฐ ์“ธ๋ฐ ์—†๋Š” ์•…์„ธ์‚ฌ๋ฆฌ๊ฐ€ ๋งŽ์€ ๋Š๋‚Œ .. ๋ฌธ์ œ์—์„œ ๋” ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. C++ ์ฝ”๋“œ : // // 2467_solution.cpp // SOMA๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป.. 2021. 2. 5.