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

Algorithm

(120)
[BOJ] ๋ฌธ์ž์—ด (#1120) ๋ฌธ์ œ ๊ธธ์ด๊ฐ€ N์œผ๋กœ ๊ฐ™์€ ๋ฌธ์ž์—ด X์™€ Y๊ฐ€ ์žˆ์„ ๋•Œ, ๋‘ ๋ฌธ์ž์—ด X์™€ Y์˜ ์ฐจ์ด๋Š” X[i] ≠ Y[i]์ธ i์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, X=”jimin”, Y=”minji”์ด๋ฉด, ๋‘˜์˜ ์ฐจ์ด๋Š” 4์ด๋‹ค. ๋‘ ๋ฌธ์ž์—ด A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, A์˜ ๊ธธ์ด๋Š” B์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ด์ œ A์˜ ๊ธธ์ด๊ฐ€ B์˜ ๊ธธ์ด์™€ ๊ฐ™์•„์งˆ ๋•Œ ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. A์˜ ์•ž์— ์•„๋ฌด ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ถ”๊ฐ€ํ•œ๋‹ค. A์˜ ๋’ค์— ์•„๋ฌด ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด๋•Œ, A์™€ B์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด์„œ, A์™€ B์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œ๋กœ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. A์™€ B์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 50์ด๊ณ , A์˜ ๊ธธ์ด๋Š” B์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๊ณ , ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. A์™€..
[Progammers] ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์ฒด์œก๋ณต ๋ฌธ์ œ ์ ์‹ฌ์‹œ๊ฐ„์— ๋„๋‘‘์ด ๋“ค์–ด, ์ผ๋ถ€ ํ•™์ƒ์ด ์ฒด์œก๋ณต์„ ๋„๋‚œ๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ ์—ฌ๋ฒŒ ์ฒด์œก๋ณต์ด ์žˆ๋Š” ํ•™์ƒ์ด ์ด๋“ค์—๊ฒŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์ฃผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๋Š” ์ฒด๊ฒฉ ์ˆœ์œผ๋กœ ๋งค๊ฒจ์ ธ ์žˆ์–ด, ๋ฐ”๋กœ ์•ž๋ฒˆํ˜ธ์˜ ํ•™์ƒ์ด๋‚˜ ๋ฐ”๋กœ ๋’ท๋ฒˆํ˜ธ์˜ ํ•™์ƒ์—๊ฒŒ๋งŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 4๋ฒˆ ํ•™์ƒ์€ 3๋ฒˆ ํ•™์ƒ์ด๋‚˜ 5๋ฒˆ ํ•™์ƒ์—๊ฒŒ๋งŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒด์œก๋ณต์ด ์—†์œผ๋ฉด ์ˆ˜์—…์„ ๋“ค์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฒด์œก๋ณต์„ ์ ์ ˆํžˆ ๋นŒ๋ ค ์ตœ๋Œ€ํ•œ ๋งŽ์€ ํ•™์ƒ์ด ์ฒด์œก์ˆ˜์—…์„ ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ํ•™์ƒ์˜ ์ˆ˜ n, ์ฒด์œก๋ณต์„ ๋„๋‚œ๋‹นํ•œ ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด lost, ์—ฌ๋ฒŒ์˜ ์ฒด์œก๋ณต์„ ๊ฐ€์ ธ์˜จ ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด reserve๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ฒด์œก์ˆ˜์—…์„ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ํ•™์ƒ์˜ ์ตœ๋Œ“๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑ..
[BOJ] ํ•œ์กฐ์„œ์—ด์ •๋ฆฌํ•˜๊ณ ์˜ดใ…‹ใ…‹ (#14659) ๋ฌธ์ œ “๋ฐ˜๊ฐ‘๋‹ค. ๋‚ด ์ด๋ฆ„์€ ๋ฐ˜๊ณ ํ#31555! ์กฐ์„  ์ตœ๊ณ ์˜ ํ™œ์žก์ด์ง€. ์˜ค๋Š˜๋„ ๋‚œ ๊ธˆ๊ฐ•์‚ฐ ์œ„์—์„œ ์ ๋“ค์„ ๋…ธ๋ฆฌ๊ณ  ์žˆ์ง€. ๋‚ด ์•ž์— ์žˆ๋Š” ์ ๋“ค์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋„ ๋†“์น˜์ง€ ์•Š์•„! ์ข‹์•„, ์ด์ œ ๊ณง ์›”์‹์ด ์‹œ์ž‘๋˜๋Š”๊ตฐ. ์›”์‹์ด ์‹œ์ž‘๋˜๋ฉด ์šฉ์ด ์ ๋“ค์„ ์ง‘์–ด์‚ผํ‚ฌ ๊ฒƒ์ด๋‹ค. ์ž˜ ๋ด๋‘์–ด๋ผ! ๋งˆ์žฅ๋™ ํ™œ์žก์ด ๋ฐ˜๊ณ ํ#31555๋‹˜์˜ ์‹ค๋ ฅ์„-!” ๋ฐ˜๊ณ ํ#31555๋Š” ์ž๊ธฐ ๋’ค์ชฝ ๋ด‰์šฐ๋ฆฌ์— ๋ฉ๊ธฐ#3958์ด ์žˆ์Œ์„ ์ „ํ˜€ ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ๋‹ค. ๋ฉ๊ธฐ#3958๋„ ๋ฐ˜๊ณ ํ#31555์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์›”์‹์ด ์‹œ์ž‘๋˜๋ฉด ์šฉ์„ ๋ถˆ๋Ÿฌ๋‚ด์–ด ๋ˆˆ์•ž์— ์žˆ๋Š” ๋‹ค๋ฅธ ํ™œ์žก์ด๋“ค์„ ๋ชจ๋‘ ์ฒ˜์น˜ํ•  ์ƒ๊ฐ์ด๋‹ค. ์‚ฌ์‹ค, ๋ฐ˜๊ณ ํ#31555์™€ ๋ฉ๊ธฐ#3958 ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ธˆ๊ฐ• ์‚ฐ๋งฅ์˜ N๊ฐœ ๋ด‰์šฐ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํ™œ์žก์ด๋“ค์ด ๊ฐ™์€ ์ƒ๊ฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋ฐ˜๊ณ ํ#31555๊ฐ€ ์žˆ๋Š” ๊ธˆ๊ฐ• ์‚ฐ๋งฅ์—๋Š” ์ด N๊ฐœ์˜ ๋ด‰์šฐ๋ฆฌ๊ฐ€ ์žˆ๊ณ ..
[BOJ] ๋ถ€๋…€ํšŒ์žฅ์ด ๋ ํ…Œ์•ผ (#2775) ๋ฌธ์ œ ํ‰์†Œ ๋ฐ˜์ƒํšŒ์— ์ฐธ์„ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” ์ฃผํฌ๋Š” ์ด๋ฒˆ ๊ธฐํšŒ์— ๋ถ€๋…€ํšŒ์žฅ์ด ๋˜๊ณ  ์‹ถ์–ด ๊ฐ ์ธต์˜ ์‚ฌ๋žŒ๋“ค์„ ๋ถˆ๋Ÿฌ ๋ชจ์•„ ๋ฐ˜์ƒํšŒ๋ฅผ ์ฃผ์ตœํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด ์•„ํŒŒํŠธ์— ๊ฑฐ์ฃผ๋ฅผ ํ•˜๋ ค๋ฉด ์กฐ๊ฑด์ด ์žˆ๋Š”๋ฐ, “a์ธต์˜ bํ˜ธ์— ์‚ด๋ ค๋ฉด ์ž์‹ ์˜ ์•„๋ž˜(a-1)์ธต์˜ 1ํ˜ธ๋ถ€ํ„ฐ bํ˜ธ๊นŒ์ง€ ์‚ฌ๋žŒ๋“ค์˜ ์ˆ˜์˜ ํ•ฉ๋งŒํผ ์‚ฌ๋žŒ๋“ค์„ ๋ฐ๋ ค์™€ ์‚ด์•„์•ผ ํ•œ๋‹ค” ๋Š” ๊ณ„์•ฝ ์กฐํ•ญ์„ ๊ผญ ์ง€ํ‚ค๊ณ  ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค. ์•„ํŒŒํŠธ์— ๋น„์–ด์žˆ๋Š” ์ง‘์€ ์—†๊ณ  ๋ชจ๋“  ๊ฑฐ์ฃผ๋ฏผ๋“ค์ด ์ด ๊ณ„์•ฝ ์กฐ๊ฑด์„ ์ง€ํ‚ค๊ณ  ์™”๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ์ฃผ์–ด์ง€๋Š” ์–‘์˜ ์ •์ˆ˜ k์™€ n์— ๋Œ€ํ•ด k์ธต์— nํ˜ธ์—๋Š” ๋ช‡ ๋ช…์ด ์‚ด๊ณ  ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋ผ. ๋‹จ, ์•„ํŒŒํŠธ์—๋Š” 0์ธต๋ถ€ํ„ฐ ์žˆ๊ณ  ๊ฐ์ธต์—๋Š” 1ํ˜ธ๋ถ€ํ„ฐ ์žˆ์œผ๋ฉฐ, 0์ธต์˜ iํ˜ธ์—๋Š” i๋ช…์ด ์‚ฐ๋‹ค. ์ž…๋ ฅ ์ฒซ ๋ฒˆ์งธ ์ค„์— Test case์˜ ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค๋งˆ๋‹ค ์ž…๋ ฅ์œผ๋กœ ์ฒซ ๋ฒˆ์งธ ์ค„์— ..
[์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค] ๊ตฌํ˜„ - ๋ฌธ์ž์—ด ์žฌ์ •๋ ฌ ๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž์™€ ์ˆซ์ž(0 ~ 9)๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋•Œ ๋ชจ๋“  ์•ŒํŒŒ๋ฒณ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ด์–ด์„œ ์ถœ๋ จํ•œ ๋’ค์—, ๊ทธ ๋’ค์— ๋ชจ๋“  ์ˆซ์ž๋ฅผ ๋”ํ•œ ๊ฐ’์„ ์ด์–ด์„œ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด K1KA5CB7์ด๋ผ๋Š” ๊ฐ’์ด ๋“ค์–ด์˜ค๋ฉด ABCKK13์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. (1
[์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค] ๊ตฌํ˜„ - ์™•์‹ค์˜ ๋‚˜์ดํŠธ ๋ฌธ์ œ ํ–‰๋ณต ์™•๊ตญ์˜ ์™•์‹ค ์ •์›์€ ์ฒด์ŠคํŒ๊ณผ ๊ฐ™์€ 8 × 8 ์ขŒํ‘œ ํ‰๋ฉด์ด๋‹ค. ์™•์‹ค ์ •์›์˜ ํŠน์ •ํ•œ ํ•œ ์นธ์— ๋‚˜์ดํŠธ๊ฐ€ ์„œ์žˆ๋‹ค. ๋‚˜์ดํŠธ๋Š” ๋งค์šฐ ์ถฉ์„ฑ์Šค๋Ÿฌ์šด ์‹ ํ•˜๋กœ์„œ ๋งค์ผ ๋ฌด์ˆ ์„ ์—ฐ๋งˆํ•œ๋‹ค ๋‚˜์ดํŠธ๋Š” ๋ง์„ ํƒ€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋™์„ ํ•  ๋•Œ๋Š” L์ž ํ˜•ํƒœ๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ •์› ๋ฐ–์œผ๋กœ๋Š” ๋‚˜๊ฐˆ ์ˆ˜ ์—†๋‹ค ๋‚˜์ดํŠธ๋Š” ํŠน์ • ์œ„์น˜์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ 2๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค ์ˆ˜ํ‰์œผ๋กœ ๋‘ ์นธ ์ด๋™ํ•œ ๋’ค์— ์ˆ˜์ง์œผ๋กœ ํ•œ ์นธ ์ด๋™ํ•˜๊ธฐ ์ˆ˜์ง์œผ๋กœ ๋‘ ์นธ ์ด๋™ํ•œ ๋’ค์— ์ˆ˜ํ‰์œผ๋กœ ํ•œ ์นธ ์ด๋™ํ•˜๊ธฐ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— 8x8 ์ขŒํ‘œ ํ‰๋ฉด์ƒ์—์„œ ํ˜„์žฌ ๋‚˜์ดํŠธ๊ฐ€ ์œ„์น˜ํ•œ ๊ณณ์˜ ์ขŒํ‘œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋œ๋‹ค. ์ž…๋ ฅ ๋ฌธ์ž๋Š” a1 ์ฒ˜๋Ÿผ ์—ด๊ณผ ํ–‰์œผ๋กœ ์ด๋ค„์ง„๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๋‚˜์ดํŠธ๊ฐ€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค. ํ•ด์„ค ์ฝ”๋“œ # ํ˜„์žฌ ๋‚˜์ด..
[์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค] ๊ตฌํ˜„ - ์‹œ๊ฐ ๋ฌธ์ œ ์ •์ˆ˜ N์ด ์ž…๋ ฅ๋˜๋ฉด 00์‹œ 00๋ถ„ 00์ดˆ๋ถ€ํ„ฐ N์‹œ 59๋ถ„ 59์ดˆ๊นŒ์ง€์˜ ๋ชจ๋“  ์‹œ๊ฐ ์ค‘์—์„œ 3์ด ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์˜ˆ๋ฅผ ๋“ค์–ด 1์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ๋‹ค์Œ์€ 3์ด ํ•˜๋‚˜๋ผ๋„ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์„ธ์–ด์•ผ ํ•˜๋Š” ์‹œ๊ฐ์ด๋‹ค 00์‹œ 00๋ถ„ 03์ดˆ 00์‹œ 13๋ถ„ 30์ดˆ ๋ฐ˜๋ฉด์— ๋‹ค์Œ์€ 3์ด ํ•˜๋‚˜๋„ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ์„ธ๋ฉด ์•ˆ ๋˜๋Š” ์‹œ๊ฐ์ด๋‹ค 00์‹œ 02๋ถ„ 55์ดˆ 01์‹œ 27๋ถ„ 45์ดˆ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค.(0
[BOJ] ๊ตฌํ˜„ - ๋‹จ์–ด๊ณต๋ถ€ ๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 1,000,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์„ ๋Œ€๋ฌธ์ž๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ๋‹จ, ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ?๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ•ด์„ค ์ฝ”๋“œ words = input().upper() new_words = list(set(words)) # ์ค‘๋ณต์„ ์ œ์™ธํ•œ ์ƒˆ๋กœ์šด words ๋ฐฐ์—ด ๋งŒ๋“ฆ new_array = [] for x in new_words: cnt = words.count(x) # new_words ์™€ ..