๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (7)

DATA101

๋ฌธ์ž์—ด์ฒ˜๋ฆฌ #๋ฐฑ์ค€1316 #๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ๋งํฌ: https://www.acmicpc.net/problem/1316 1316๋ฒˆ: ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค ๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ๋ณธ ๋ฌธ์ œ ํ’€์ด์— ์žˆ์–ด์„œ๋Š” 2๊ฐ€์ง€๋ฅผ ์ฒดํฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. โœ… ์ฒซ์งธ, ๋‹จ์–ด ๋‚ด ์–ด๋–ค ์•ŒํŒŒ๋ฒณ์˜ ๊ธฐ(ๆ—ฃ, already) ๋“ฑ์žฅ์—ฌ๋ถ€ โœ… ๋‘˜์งธ, ๋‹จ์–ด ๋‚ด ์–ด๋–ค ์•ŒํŒŒ๋ฒณ ์ด์ „ ์•ŒํŒŒ๋ฒณ๊ณผ ๊ฐ™์€์ง€ ์—ฌ๋ถ€ ์ฆ‰, ๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ์–ด๋–ค ์•ŒํŒŒ๋ฒณ์ด ์ตœ์ดˆ๋กœ ํ•œ ๋ฒˆ๋งŒ ๋“ฑ์žฅํ–ˆ๊ฑฐ๋‚˜ 2๋ฒˆ ์ด์ƒ ๋“ฑ์žฅํ•  ๊ฒฝ์šฐ ์—ฐ์†ํ•ด์„œ ๋“ฑ์žฅํ•ด์•ผ๋งŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ๋งŒ ์œ ๋…ํ•˜์‹œ๋ฉด ์‰ฝ๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ‘ธ์‹ค..

๋ฌธ์ž์—ด์ฒ˜๋ฆฌ #๋ฐฑ์ค€1157 #๋‹จ์–ด ๊ณต๋ถ€ | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ๋งํฌ: https://www.acmicpc.net/problem/1157 1157๋ฒˆ: ๋‹จ์–ด ๊ณต๋ถ€ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ๋ฌธ์ž์—ด ๋‚ด ์•ŒํŒŒ๋ฒณ๋ณ„ ์ถœํ˜„ ํšŸ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ด์ฌ collections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด Counter ๋ชจ๋“ˆ์„ ํ™œ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ตœ๋‹ค ๋นˆ์ถœ ์•ŒํŒŒ๋ฒณ์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด Counter ๋ชจ๋“ˆ์—์„œ most_commons ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ถœํ˜„ ํšŸ์ˆ˜๊ฐ€ ๊ณต๋™ 1์œ„์ธ ์•ŒํŒŒ๋ฒณ์ด ์žˆ์„ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ถœํ˜„ ๋นˆ๋„ 1์œ„์™€ 2์œ„๋ฅผ ๋น„๊ตํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๐Ÿ’ป ์ฝ”๋“œ # https://www.acmicpc.net/problem/1..

๋ฌธ์ž์—ด์ฒ˜๋ฆฌ #๋ฐฑ์ค€10809 #์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ๋งํฌ: https://www.acmicpc.net/problem/10809 10809๋ฒˆ: ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์— ๋Œ€ํ•ด์„œ, a๊ฐ€ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜, b๊ฐ€ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜, ... z๊ฐ€ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ, ์–ด๋–ค ์•ŒํŒŒ๋ฒณ์ด ๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด -1์„ ์ถœ www.acmicpc.net ๐Ÿ’ก ์ ‘๊ทผ๋ฒ• ์ž…๋ ฅ๋ฐ›๋Š” ๋‹จ์–ด์˜ ์ขŒ์ธก๋ถ€ํ„ฐ ์•ŒํŒŒ๋ฒณ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์ ‘๊ทผํ•˜์—ฌ ๋ช‡ ๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์ธ์ง€ ํ™•์ธํ•˜์—ฌ ์ •๋‹ต์œผ๋กœ ์ถœ๋ ฅํ•  ๋ฆฌ์ŠคํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ €๋Š” a๋ถ€ํ„ฐ z๊นŒ์ง€ ๋ชจ๋“  ์†Œ๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ›์•„์˜ค๊ธฐ ์œ„ํ•ด ํŒŒ์ด์ฌ string ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด ascii_lowercase ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๋ฌธ์ž์—ด ํƒ์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ๋ฆฌ์ŠคํŠธ ์›์†Œ๋Š” ๋ชจ๋‘ -1๋กœ ์ดˆ๊ธฐํ™”ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ž…..

BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ๋ฐฑ์ค€#17086 #์‹ค๋ฒ„ | "์•„๊ธฐ์ƒ์–ด2" | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ๋งํฌ: https://www.acmicpc.net/problem/17086 17086๋ฒˆ: ์•„๊ธฐ ์ƒ์–ด 2 ์ฒซ์งธ ์ค„์— ๊ณต๊ฐ„์˜ ํฌ๊ธฐ N๊ณผ M(2 ≤ N, M ≤ 50)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ณต๊ฐ„์˜ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, 0์€ ๋นˆ ์นธ, 1์€ ์•„๊ธฐ ์ƒ์–ด๊ฐ€ ์žˆ๋Š” ์นธ์ด๋‹ค. ๋นˆ ์นธ์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ•œ ๊ฐœ ์ด์ƒ์ธ ์ž…๋ ฅ๋งŒ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๐Ÿ‘จ‍๐Ÿ’ป ์ ‘๊ทผ๋ฒ• โš™๏ธ ํ™œ์šฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜: BFS ์ฃผ์–ด์ง„ ๋งต(i.e., ๊ทธ๋ž˜ํ”„)์—์„œ ์•„๊ธฐ์ƒ์–ด์™€ ๋–จ์–ด์ง„ ๊ฑฐ๋ฆฌ(i.e., ์•ˆ์ „๊ฑฐ๋ฆฌ)์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ ์ƒ๊ฐํ•œ ์•„์ด๋””์–ด๋Š” ์ƒ์–ด๊ฐ€ ์—†๋Š”(i.e., ๋นˆ์นธ) ๋…ธ๋“œ์—์„œ๋ถ€ํ„ฐ ์ƒ์–ด๊นŒ์ง€์˜ ์ตœ์†Œ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๋‹น ์ ‘๊ทผ๋ฒ•์€ ์—ฐ์‚ฐ ๋น„์šฉ์ด ํด ๊ฑฐ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ์—ฐ์‚ฐ ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ..

BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ๋ฐฑ์ค€#11123 #์‹ค๋ฒ„ | "์–‘ ํ•œ ๋งˆ๋ฆฌ, ์–‘ ๋‘ ๋งˆ๋ฆฌ" | ํŒŒ์ด์ฌ ํ’€์ด

๐Ÿ“š ๋ฌธ์ œ ๋ฌธ์ œ ์›๋ณธ: https://www.acmicpc.net/problem/11123 11123๋ฒˆ: ์–‘ ํ•œ๋งˆ๋ฆฌ... ์–‘ ๋‘๋งˆ๋ฆฌ... ์–ผ๋งˆ์ „์— ๋‚˜๋Š” ๋ถˆ๋ฉด์ฆ์— ์‹œ๋‹ฌ๋ ธ์ง€... ์ฒœ์žฅ์ด ๋šซ์–ด์ ธ๋ผ ๋œฌ ๋ˆˆ์œผ๋กœ ๋ฐค์„ ์ง€์ƒˆ์šฐ๊ณค ํ–ˆ์—ˆ์ง€. ๊ทธ๋Ÿฌ๋˜ ์–ด๋Š ๋‚  ๋‚ด ์นœ๊ตฌ ๊ด‘๋ฏผ์ด์—๊ฒŒ ๋‚˜์˜ ๋ถˆ๋ฉด์ฆ์— ๋Œ€ํ•ด ๋งํ–ˆ๋”๋‹ˆ ์ด๋ ‡๊ฒŒ ๋งํ•˜๋”๊ตฐ. "์–‘์ด๋ผ๋„ ์„ธ๋ด!" www.acmicpc.net ๐Ÿ‘จ‍๐Ÿ’ป ์ ‘๊ทผ๋ฒ• โš™๏ธ์‚ฌ์šฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜: BFS ๋งต(i.e., ๊ทธ๋ž˜ํ”„)์— ์œ„์น˜ํ•œ ๋ชจ๋“  ์–‘ ๊ฐ๊ฐ์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด๋‹น ์–‘๊ณผ ์ธ์ ‘ํ•ด ์žˆ๋Š” ๋‹ค๋ฅธ ์–‘์˜ ์กด์žฌ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ์ ‘๊ทผ๋ฒ•์„ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ”ฅ๐Ÿ’ป ์†Œ์Šค์ฝ”๋“œ ๋ฐ ํ’€์ด๊ณผ์ • from collections import deque # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ฐœ์ˆ˜ ์ž…๋ ฅ๋ฐ›๊ธฐ test_num = int(input()) # ํƒ์ƒ‰ ๋ฐฉํ–ฅ๋ณ„ ์ด๋™ํ•  ์ขŒํ‘œ..

๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฑ์ค€#1202 #๊ณจ๋“œ | "๋ณด์„ ๋„๋‘‘" | ํŒŒ์ด์ฌ ํ’€์ด

๋ฌธ์ œ ์›๋ณธ ๋งํฌ: https://www.acmicpc.net/problem/1202 1202๋ฒˆ: ๋ณด์„ ๋„๋‘‘ ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N, K ≤ 300,000) ๋‹ค์Œ N๊ฐœ ์ค„์—๋Š” ๊ฐ ๋ณด์„์˜ ์ •๋ณด Mi์™€ Vi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 ≤ Mi, Vi ≤ 1,000,000) ๋‹ค์Œ K๊ฐœ ์ค„์—๋Š” ๊ฐ€๋ฐฉ์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฌด๊ฒŒ Ci๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ci www.acmicpc.net ์ ‘๊ทผ๋ฒ• ๋ณธ ๋ฌธ์ œ์˜ ๋ชฉํ‘œ๋Š” ๊ฐ€๊ฒฉ์ด ๋†’์€ ๋ณด์„์„ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ๋‹ด๋˜ ์šฉ๋Ÿ‰์ด ์ ์€ ๊ฐ€๋ฐฉ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ๊ฐ€๋ฐฉ์˜ ์šฉ๋Ÿ‰์— ๋”ฐ๋ฅธ ํƒ์ƒ‰ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ํ’€ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด (๋ฌด๊ฒŒ, ๊ฐ€์น˜) ์ •๋ณด๊ฐ€ ๋‹ด๊ธด 3๊ฐœ์˜ ๋ณด์„๊ณผ ๊ฐ€๋ฐฉ 2๊ฐœ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฐ€๋ฐฉ์˜ ์šฉ๋Ÿ‰..

๊ทธ๋ฆฌ๋””(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฑ์ค€#12845 #์‹ค๋ฒ„ | "๋ชจ๋‘์˜ ๋งˆ๋ธ”" | ํŒŒ์ด์ฌ ํ’€์ด

๋ฌธ์ œ ๋ฌธ์ œ ์›๋ณธ: https://www.acmicpc.net/problem/12845 12845๋ฒˆ: ๋ชจ๋‘์˜ ๋งˆ๋ธ” ์˜๊ด€์ด๋Š” ๊ฒŒ์ž„์„ ์ข‹์•„ํ•œ๋‹ค. ๋ณ„์˜๋ณ„ ๊ฒŒ์ž„์„ ๋‹ค ํ•˜์ง€๋งŒ ๊ทธ ์ค‘์—์„œ ์ œ์ผ ์ข‹์•„ํ•˜๋Š” ๊ฒŒ์ž„์€ ๋ชจ๋‘์˜ ๋งˆ๋ธ”์ด๋‹ค. ์–ด๊น€์—†์ด ์˜ค๋Š˜๋„ ์˜๊ด€์ด๋Š” ํ•™๊ต ๊ฐ€๋Š” ๋ฒ„์Šค์—์„œ ์บ๋ฆญํ„ฐ ํ•ฉ์„ฑ ์ด๋ฒคํŠธ๋ฅผ ์ฐธ์—ฌํ–ˆ๋‹ค. ์ด๋ฒˆ ์ด www.acmicpc.net ์ ‘๊ทผ๋ฒ• ๊ฐ€์žฅ ๋†’์€ ๊ณจ๋“œ๋ฅผ ํš๋“ํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ๋ฒจ์ด ๊ฐ€์žฅ ๋†’์€ ์นด๋“œ 1์žฅ์„ ๊ณ ์ •ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์นด๋“œ์™€ ์ฐจ๋ก€๋กœ ๋ง์…ˆํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์–ด์ฐจํ”ผ ๋ชจ๋“  ์นด๋“œ์˜ ๋ ˆ๋ฒจ๊ณผ ํ•ฉ์‚ฐํ•ด์•ผ ํ•˜๋ฉฐ, ๋‘ ์นด๋“œ์˜ ๋ง์…ˆ์ด(=ํš๋“ ๊ณจ๋“œ๋Ÿ‰) ์ตœ๋Œ€๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์˜ ์นด๋“œ 1์žฅ์„ ๊ณ ์ •์‹œํ‚ค๋ฉด ๋˜๋Š” ๊ฒƒ์ด์ฃ . ์†Œ์Šค์ฝ”๋“œ # ์นด๋“œ ๊ฐœ์ˆ˜ ์ž…๋ ฅ๋ฐ›๊ธฐ n = int(input()) # ์นด๋“œ๋ณ„ ๋ ˆ๋ฒจ ์ž…๋ ฅ๋ฐ›๊ธฐ level_l..