PS

    ICPC 2022 Seoul Regional ํ›„๊ธฐ

    ๋ง‰ํ•™๊ธฐ riroan, 3ํ•™๋…„ delena0702์™€ ํ•จ๊ป˜ ICPC 2022์— ์ฐธ๊ฐ€ํ–ˆ๋‹ค. ์›๋ž˜๋Š” UCPC(์ผ๊ฐํ˜ธ๋Š”์šฐ๋ฆฌ๊ฐ€์ง€ํ‚จ๋‹ค)๋ฅผ ํ•จ๊ป˜ ํ–ˆ๋˜ ์ผ€์ด(kth990303)์™€ ํ•จ๊ป˜ ์…‹์ด์„œ ํ˜ธํก์„ ๋งž์ถ˜ ์  ์žˆ์—ˆ๋Š”๋ฐ, ์˜ฌํ•ด ํœดํ•™์œผ๋กœ ์ฐธ๊ฐ€๋ฅผ ๋ชป ํ•ด์„œ ํ•œ ๋ช… ๊ตฌํ•˜๊ฒŒ ๋๋‹ค. ํ•œ ๋ช…์„ ๋ชจ์…”์˜ค๋Š” ๊ฑด ๋˜ ๋ช…๊ธฐํ˜•์ด ํ•œ ๊ฑด ํ–ˆ๋‹คใ…‹ใ…‹ใ…‹ ๋‚˜ํ•œํ…Œ ํ–ˆ๋˜ ์ˆ˜๋ฒ•์„ ๋˜‘๊ฐ™์ด ์จ์„œ ๋จนํ˜”๋‹ค.. ๋ฉ”์ผ ์ฃผ์†Œ๋„ ์ฐพ์•„๋ณด๊ธฐ ํž˜๋“ค์–ด์„œ github๋ฅผ ๋”ฐ๋ผ๊ฐ€ ํ”„๋กœํ•„ ๋ฆฌํฌ์— ์ด์Šˆ ๋‹ฌ์•„์„œ ์ฐพ์•„ ์™”๋‹ค. ์ด๊ฑธ๋กœ 100% ์„ฑ๊ณตํ•œ ๊ฑธ ๋ณด๋ฉด, ๋‚˜์ค‘์— ๋‚ด๊ฐ€ ์จ๋จน์–ด๋„ ์ •๋ง ์ข‹์„ ๋“ฏ..? ์˜ˆ์„ ์—์„œ ํ•œ ๋ฌธ์ œ๋„ ๋ชป ํ’€์—ˆ๋˜ ํ„ฐ๋ผ ๊ฝค๋‚˜ ๊ธด์žฅ์„ ๋งŽ์ด ํ–ˆ๊ณ .. ๊ต๋‚ด ๋Œ€ํšŒ๋ฅผ ์ค€๋น„ํ•˜๋А๋ผ๊ณ  ๋ฆฌ์ €๋„ ์ค€๋น„๋ฅผ ๊ผผ๊ผผํ•˜๊ฒŒ ํ•˜์ง€ ๋ชปํ•œ ๊ฒŒ ์ฐธ ์•„์‰ฝ๋‹ค. ๊ทธ๋ž˜๋„ ์ง„์งœ์ง„์งœ ์ข‹์€ ๊ฒฝํ—˜์„ ํ•œ ๊ฒƒ ๊ฐ™์•„์„œ ๋ฟŒ๋“ฏํ•ด, ๋งŽ์€ ์‚ฌ..

    UCPC 2022 ์˜ˆ์„  ํ›„๊ธฐ

    ์–ด๋–ป๊ฒŒ ๊ฐ™์€ ํ•™๊ต์—์„œ ์ธ์—ฐ์ด ๋งž์•„ ํ•จ๊ป˜ ์ฐธ๊ฐ€ํ•œ UCPC, ๋ช‡๋ฒˆ ๋งŒ๋‚˜ ์—ฐ์Šต์…‹๋„ ํ’€์—ˆ๋‹ค ์ด๋ฒˆ์— 2์‹œ๋ถ€ํ„ฐ 3์‹œ๊ฐ„๋™์•ˆ ์˜ˆ์„ ์ด ์ง„ํ–‰๋๋Š”๋ฐ, ์–ดํ›„ ์ด๊ฑฐ ์ง„์งœ ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค A ๋Š” ๊ธฐ๋ณธ ์ž…์ถœ๋ ฅ ๋ฌธ์ œ๋ผ์„œ ๋ฐ”๋กœ ํƒœํ˜„๋‹˜์ด ์†”๋ธŒ G ์ฝ์–ด๋ณด๋‹ค๊ฐ€ ํ• ๋งŒํ•œ ๊ฒƒ ๊ฐ™์•˜๋Š”๋ฐ ์ˆœ์„œ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฑธ ๋‚˜์ค‘์— ์•Œ์•„์ฑ„์„œ ํŒจ์Šค B ๋ณด๋‹ค๊ฐ€ CCW ๋„ฃ์œผ๋ฉด ๋  ๊ฒƒ ๊ฐ™์•„์„œ ๊ฑด๋“œ๋ฆฌ๋‹ค๊ฐ€ ํƒœํ˜„๋‹˜ํ•œํ…Œ ๋„˜๊ธฐ๊ณ  F ๊ตฌํ˜„ ๋ช‡๋ฒˆ ํ‹€๋ฆฌ๊ณ  AC (๋ฏฟ์Œ์˜ ์ œ์ถœ์„ ํ–ˆ์–ด์•ผ ํ–ˆ๋‹ค,,,). ์ด๋•Œ ํƒœํ˜„๋‹˜์ด B๋„ ๊ฐ™์ด ํ•ด๊ฒฐํ•ด ์ฃผ์…จ์Œ E, J๋Š” ๋ช…๊ธฐ๋‹˜์ด ํ•ด๊ฒฐ. :fan: ๋๋‚˜๊ธฐ ์ „์— D๋ฅผ ์˜คํ”„๋ผ์ธ์ฟผ๋ฆฌ + ๋ ˆ์ด์ง€์„ธ๊ทธ + ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ํ’€๋‹ค๊ฐ€ ์‹œ๊ฐ„ ์—†์–ด์„œ ๋ชป ํ’€๊ฒŒ ๋๋‹ค. (์ด๋ ‡๊ฒŒ ํ‘ธ๋Š” ๊ฑฐ ๋งž์•„์š”..?) 5์†”๋ธŒ๋ฅผ ํ•ด์„œ ์•„์Šฌ์•„์Šฌํ•œ ๊ณณ์— ์œ„์น˜ํ–ˆ๋‹ค. UCPC ๊ผญ ๋‚˜๊ฐ€๋ณด๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์ข‹์€ ์„ฑ์ ์„ ..

    [๋ฐฑ์ค€ | BOJ] ๊ฐ€ํฌ์™€ ํ•จ๊ป˜ ํ•˜๋Š” 2ํšŒ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ํ›„๊ธฐ

    ์ €๋ฒˆ์— ์žฌ๋ฐŒ๊ฒŒ ํ’€์—ˆ๋˜ ์‹œ๋ฆฌ์ฆˆ ๋Œ€ํšŒ๊ฐ€ ์—ด๋ ธ๋‹ค. 1ํšŒ๋•Œ์™€ ๊ฐ™์ด ๋ฌธ์ œ๋“ค์ด ์žฌ๋ฐŒ๋‹ค. ์ฒ˜์Œ ์ƒ๊ฐํ•œ ํ’€์ด์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ๋ฌธ์ œ๋“ค๋„ ์žˆ์—ˆ๋‹ค. 1์‹œ๋ถ€ํ„ฐ ๋ฐ”์ง ์ฐธ์—ฌํ•˜์ง€๋Š” ๋ชปํ–ˆ์ง€๋งŒ, 5๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ํ’€์ด๋Š” ์•„๋ž˜. ๊ฐ€ํฌ์™€ ํ•จ๊ป˜ ํ•˜๋Š” 2ํšŒ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ www.acmicpc.net 1. ๊ฐ€ํฌ์™€ ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ ๋ฌธ์ž์—ด ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ๋ฉด ํŒŒ์ด์ฌ๋ฐ–์— ๋ชป ํ•˜๋Š” ๋‚˜๋ฅผ ์กฐ๊ธˆ์€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.. ๋‹จ์ˆœ ์ •๋ ฌ ์„ธ ๋ฒˆ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค. ์šฐ์„ ์ˆœ์œ„์˜ ๋ฐ˜๋Œ€์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ์„ ์ง„ํ–‰ํ•˜๋ฉด, ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ชจ๋‘ ๋งŒ์กฑํ•˜๊ฒŒ๋” ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒŒ์ผ๋ช…๊ณผ ํ™•์žฅ์ž๋กœ ๋‚˜๋ˆ  ์ž…๋ ฅ๋ฐ›๊ณ , ์ง€์›ํ•˜๋Š” ํ™•์žฅ์ž๋“ค์„ dict ๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌํ•œ ๋’ค, key ๋ฅผ ๊ฐ๊ฐ ํ™•์žฅ์ž, ์ง€์› ์—ฌ๋ถ€, ํŒŒ์ผ๋ช… ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ์„ ์„ธ ๋ฒˆ ํ•œ๋‹ค. 2. ๊ฐ€ํฌ์™€ ํ‚ค์›Œ๋“œ ์ด ๋ฌธ์ œ๋„ ๋ธŒ๋ฃจํŠธํฌ์Šค๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค...

    [2021 Dev Carnival] ๋ฐ๋ธŒ์นด๋‹ˆ๋ฐœ 2021 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ธˆ์† ๋ฐฐ์ง€ ํ›„๊ธฐ (๋ฌธ์ œ ๋ณต๊ธฐ)

    goorm.io์—์„œ ์ง„ํ–‰ํ•˜๋Š” 2021 Dev Carnival : ๋ฐ๋ธŒ ์นด๋‹ˆ๋ฐœ์— ์ฐธ๊ฐ€ํ–ˆ๋‹ค ! 5์›” 22์ผ์— ์ง„ํ–‰๋๋˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์˜€๋Š”๋ฐ, ์–ผ๋งˆ ์ „์— ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๊ฐ€ ๋ฉ”์ผ๋กœ ๋‚ ์•„์™”๋‹ค. ์žŠ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๋‹ค์‹œ ์ƒ๊ฐ๋‚˜์„œ ๊ธ€์„ ์“ด๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋ฉด์„œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ์ €์žฅํ•ด๋‘์ง€๋Š” ์•Š์•„์„œ ์ •ํ™•ํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ์ง€๋Š” ์•Š๋‹ค. ๊ธฐ์–ต๋‚˜๋Š” ๋Œ€๋กœ ๋ฌธ์ œ๋ฅผ ๋ณต๊ธฐํ•ด๋ด์•ผ๊ฒ ๋‹ค. 1๋ฒˆ ๋ฌธ์ œ๋Š” ๋‹จ์ˆœ๊ตฌํ˜„ ๋ฌธ์ œ์˜€๋‹ค. ์‚ฌ๋žŒ๋งˆ๋‹ค ๋จน์„ ์ˆ˜ ์žˆ๋Š” ์Œ์‹ ์–‘์ด ์ •ํ•ด์ ธ ์žˆ๊ณ , ์Œ์‹์„ ์ˆœ์„œ๋Œ€๋กœ ๋จน์œผ๋ฉฐ ์–‘์„ ๋„˜๋Š” ์‚ฌ๋žŒ๋“ค์˜ ์ˆœ์„œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ๋ฐฐ์—ด ๋Œ๋ ค๊ฐ€๋ฉด์„œ ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐํ–ˆ์—ˆ๋‹ค. 2๋ฒˆ์€ ๊ตฌํ˜„์ด ์กฐ๊ธˆ ํž˜๋“ค์–ด๋ณด์—ฌ์„œ 3, 4๋ฒˆ์„ ๋จผ์ € ๋ดค์—ˆ๋‹ค. 3๋ฒˆ์€ ๋ณด์ž๋งˆ์ž DP๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ๋„๋ง์ณค๊ณ , 4๋ฒˆ ๋ฌธ์ œ๋ฅผ ๋ถ™์žก์•˜๋‹ค. ๋‹จ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ํ•œ ๋ฒˆ ์ •์ ์„ ๋ฐฉ๋ฌธํ•  ๋•Œ..

    [๋ฐฑ์ค€ | BOJ] ๊ฐ€ํฌ์™€ ํ•จ๊ป˜ ํ•˜๋Š” 1ํšŒ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ํ›„๊ธฐ

    ์š”์ฆ˜ ๋ฐฑ์ค€์—์„œ ๋ฌธ์ œ๋ฅผ ์ข€ ํ’€๊ณ  ์žˆ๋‹ค. ์–ด๋ ค์šด ๊ณ ๊ธ‰์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค๋Š” ๋Œ€ํšŒ๋‚˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ์ž์ฃผ ๋ณด์ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ„์ฃผ๋กœ ์—ฐ์Šตํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Codeforces์˜ Round๋‚˜, ๋ฐฑ์ค€์˜ ๋Œ€ํšŒ๋‚˜, Atcoder์˜ Contest ๋ชจ๋‘ ์ฐธ ์ข‹์ง€๋งŒ, ์‹ ๋ถ„์ด ๊ตฐ์ธ์ธ์ง€๋ผ ์‰ฝ๊ฒŒ ์‘์‹œํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค. ๊ฐ€ํฌ์™€ ํ•จ๊ป˜ ํ•˜๋Š” 1ํšŒ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ www.acmicpc.net ์˜ค๋Š˜ ๊ดœ์ฐฎ์€ ์‹œ๊ฐ„๋Œ€์— ๋Œ€ํšŒ๊ฐ€ ์—ด๋ ค์„œ ์ฐธ๊ฐ€ํ•˜๊ฒŒ ๋๋‹ค. ๋ฌธ์ œ๋“ค์€ ์žฌ๋ฐŒ์—ˆ๊ณ , ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด ๋ฌธ์ œ์…‹์— ๋…น์•„์žˆ์–ด์„œ ์ด๋ ‡๊ฒŒ์ €๋ ‡๊ฒŒ ํ’€์–ด๋ณด๊ธฐ๋„ ํ–ˆ๋‹ค. ๊ณต์ง€์‚ฌํ•ญ์—์„œ ๋ฏธ๋ฆฌ "๋น ๋ฅธ ์ž…์ถœ๋ ฅ"์„ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ์กฐ์–ธํ–ˆ์—ˆ๋Š”๋ฐ, ๊ฝค ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋“ค์ด ๋ฌด๊ฑฐ์šด ๋ชจ์–‘์ด๋‹ค. ํŒŒ์ด์ฌ์œผ๋กœ ํž˜๊ฒน๊ฒŒ ๋Œ์•„๊ฐ”๋‹ค. ์ €๋ฒˆ ์ˆ™๋ช…์—ฌ๋Œ€ SMUPC์—์„œ๋Š” 2๋ฌธ์ œ๋งŒ ํ’€๊ณ  ๋Œ€ํšŒ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ–ˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ ๋Œ€ํšŒ์—์„œ๋Š” 8๋ฌธ์ œ ์ค‘์—์„œ 6๋ฌธ..

    [ํŒŒ์ด์ฌ | Python] ํŠธ๋ผ์ด (Trie) ์ž๋ฃŒ๊ตฌ์กฐ

    ๋ฌธ์ž์—ด์€ ํ•ญ์ƒ ์–ด๋ ต๋‹ค. KMP๋„ ๊ทธ๋ ‡๊ณ , digit์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ๋„ ๊ทธ๋ ‡๊ณ , ์•Œ๋ฉด ์•Œ์ˆ˜๋ก ๋จธ๋ฆฌ์•„ํŒŒ์ง€๋Š” ๋ถ„์•ผ. ๊ทธ๋งŒํผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค๋ฉด ํ›จ์”ฌ ์–ด๋ ต๊ฒŒ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฒ ์ง€. ์˜ค๋Š˜์€ ํŠธ๋ผ์ด๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค. Radix tree / Prefix tree ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š”๋ฐ, ํ•œ ๋‹จ์–ด์˜ ์ ‘๋‘์‚ฌ(์ ‘๋‘์–ด)๋ฅผ ๋ชจ๋‘ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค. (ํ•ด๋‹น ๋‹จ์–ด์— ๋„๋‹ฌํ•˜๊ธฐ๊นŒ์ง€์˜ ๋ฌธ์ž๋“ค์„ ์ €์žฅํ•œ๋‹ค) donghoon ์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋ณด๋ฉด, dong ๋„ ์ ‘๋‘์‚ฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ณ , do ๋„ ์ ‘๋‘์‚ฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ํŠธ๋ผ์ด์—์„œ๋Š” ์ด ๋‹จ์–ด๋“ค์ด ์„œ๋กœ ํฌํ•จ๊ด€๊ณ„์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ค€๋‹ค. ํŠธ๋ผ์ด์— "app", "ant", "apple"์ด๋ผ๋Š” ๋‹จ์–ด๋“ค์„ ์ €์žฅํ•œ๋‹ค๊ณ  ํ•˜์ž. ํŠธ๋ผ์ด์—๋Š” ์ง€๊ธˆ๊นŒ์ง€์˜ ๋ชจ๋“  ๋‹จ์–ด์˜ ์ž์ทจ๋ฅผ ์ €์žฅํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ๋‹จ์–ด์˜ ๊ฐ ๊ธ€์ž๋งˆ๋‹ค, ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒˆ..

    [๋ฐฑ์ค€ | BOJ] ์ˆ™๋ช…์—ฌ์ž๋Œ€ํ•™๊ต SMUPC ํ’€์–ด๋ณด๊ธฐ

    13์‹œ๋ถ€ํ„ฐ 17์‹œ๊นŒ์ง€ 4์‹œ๊ฐ„์งœ๋ฆฌ ์˜คํ”ˆ์ฝ˜ํ…Œ์ŠคํŠธ๊ฐ€ ์—ด๋ ธ๋Š”๋ฐ, ๋‹ค๋ฅธ ๋ฌธ์ œ ํ‘ธ๋А๋ผ 30๋ถ„๋™์•ˆ๋ฐ–์— ๋ชป ํ’€์—ˆ๋‹ค. ์˜ค๋Š˜ ๋ผ์„œ ์•„์นจ์— ๋ฌธ์ œ ํ›‘์–ด๋ณด๊ณ  ํ’€์ด. ๋ฌด๋‚œํ•˜๊ณ  ์žฌ๋ฐŒ์—ˆ๋˜ ๋ฌธ์ œ์…‹์ด์ง€๋งŒ, ํ•œ ์ชฝ์— ์น˜์šฐ์ณ์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์…‹์ด๋ผ๋Š” ์ ์ด ์•„์‰ฝ๋‹ค. ์ œ1ํšŒ ์ˆ™๋ช…์—ฌ์ž๋Œ€ํ•™๊ต ๊ต๋‚ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฒฝ์ง„๋Œ€ํšŒ (SMUPC) Open www.acmicpc.net 21734: SMUPC์˜ ๋“ฑ์žฅ ๊ฐ ์•ŒํŒŒ๋ฒณ์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ๋ฅผ ๊ตฌํ•œ ๋’ค์—, ๊ฐ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋”ํ•œ ๋งŒํผ ์•ŒํŒŒ๋ฒณ์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. for i in input(): print(i * sum(list(map(int, list(str(ord(i))))))) 21735: ๋ˆˆ๋ฉ์ด ๊ตด๋ฆฌ๊ธฐ dp๋กœ ํ’€๋‹ค๊ฐ€ ์‹œ๊ฐ„๊นŒ์ง€ ์ €์žฅ์„ ์–ด๋–ป๊ฒŒ ํ•˜์ง€,, ๋ผ๋Š” ์ƒ๊ฐ์— ๋Œ€ํšŒ๋‚ ์—๋Š” ๋„˜๊ธฐ๊ณ  ์•„์นจ์— ๋‹ค์‹œ ๋ณด๋‹ˆ dfs๋กœ ํŒŒ๊ณ ๋‚ด๋ ค๊ฐ€๋ฉด ๋๋˜ ๋ฌธ์ œ..