๋ชฉ๋ก์ „์ฒด ๊ธ€ (1005)

๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[BAEKJOON C++] 11575_Affine Cipher

์„œ์ชฝ๋‚˜๋ผ์—์„œ ํŠน์ˆ˜ํ›ˆ๋ จ์„ ๋ฐ›์€ ์ •์€์ด๋Š” ๋™์ชฝ๋‚˜๋ผ๋กœ ์นจํˆฌ๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋›ฐ์–ด๋‚œ ์ŠคํŒŒ์ด์˜€๋˜ ์ •์€์ด๋Š” ๋™์ชฝ๋‚˜๋ผ์˜ ์ •๋ณด๋ฅผ ์ž…์ˆ˜ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  ์ •๋ณด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์„œ์ชฝ๋‚˜๋ผ๋กœ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์•„ํ•€ ์•”ํ˜ธ(Affine Cipher)๋ฅผ ์ด์šฉํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ์•„ํ•€ ์•”ํ˜ธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹์„ ํ†ตํ•ด ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. E(X) = (aX + b) mod 26 A๋ถ€ํ„ฐ Z๊นŒ์ง€์˜ ์•ŒํŒŒ๋ฒณ์„ ์ฐจ๋ก€๋Œ€๋กœ 0, 1, 2, ... , 25 ๋ผ๊ณ  ํ•˜์ž. a = 3์ด๊ณ , b = 1์ธ ๊ฒฝ์šฐ์— A๋ฅผ ์•„ํ•€ ์•”ํ˜ธ์‹์— ๋Œ€์ž…ํ•˜๋ฉด E(0) = (3 × 0 + 1) mod 26 ์ด ๋˜์–ด ์•”ํ˜ธํ™”๋œ ๊ฒฐ๊ณผ๋Š” B a์™€ b, ๊ทธ๋ฆฌ๊ณ  ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ํ‰๋ฌธ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์•”ํ˜ธ๋ฌธ์œผ๋กœ ์น˜ํ™˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์ž…๋ ฅ ์ž…๋ ฅ์˜ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1 ≤ T ..

[BAEKJOON C++] 2845_ํŒŒํ‹ฐ๊ฐ€ ๋๋‚˜๊ณ  ๋‚œ ๋’ค

ํŒŒํ‹ฐ๊ฐ€ ๋๋‚˜๊ณ  ๋‚˜๋ฉด, ์‚ฌ๋žŒ๋“ค์€ ๋ˆ„๊ฐ€ ํŒŒํ‹ฐ์— ์™”๋Š”์ง€์™€ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์™”๋Š”์ง€๋ฅผ ๊ถ๊ธˆํ•ดํ•œ๋‹ค. ๋ณดํ†ต ํŒŒํ‹ฐ๋Š” ๋งค์šฐ ํฌ๊ฒŒ ์—ด๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์—, ์ •ํ™•ํ•˜๊ฒŒ ๋ช‡ ๋ช…์ด ์ฐธ๊ฐ€ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค. ์ง€๋‚œ์ฃผ ํ† ์š”์ผ์— ์ƒ๊ทผ์ด๋Š” ์ž์‹ ์˜ 3ํ•™๋…„ ์ง„ํ•™์„ ๊ธฐ๋…ํ•˜๋ฉด์„œ ๋งค์šฐ ์„ฑ๋Œ€ํ•œ ํŒŒํ‹ฐ๋ฅผ ์—ด์—ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” 1m2๋‹น ๋ช‡ ๋ช…์˜ ์‚ฌ๋žŒ์ด ์žˆ์—ˆ๋Š”์ง€ ์•Œ๊ณ ์žˆ๋‹ค. ์ƒ๊ทผ์ด์˜ ํŒŒํ‹ฐ๋Š” ์ •๋ง ์—„์ฒญ๋‚œ ๊ทœ๋ชจ์˜€๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€๋ถ€๋ถ„์˜ ์‹ ๋ฌธ์—๋„ ๊ธฐ์‚ฌ๊ฐ€ ์‹ค๋ ธ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์„œ๋กœ ๋‹ค๋ฅธ 5๊ฐœ์˜ ์‹ ๋ฌธ์„ ๋ณด๋ฉด์„œ ๊ทธ ๊ธฐ์‚ฌ์— ์ ํ˜€์ ธ์žˆ๋Š” ์ฐธ๊ฐ€์ž์˜ ์ˆ˜๋ฅผ ์ ์—ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ž์‹ ์ด ์•Œ๊ณ ์žˆ๋Š” ์ฐธ๊ฐ€์ž์˜ ์ˆ˜๊ฐ€ ์ •ํ™•ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ฐ ์‹ ๋ฌธ ๊ธฐ์‚ฌ์— ์‹ค๋ ค์žˆ๋Š” ์ฐธ๊ฐ€์ž์˜ ์ˆ˜๊ฐ€ ๋ช‡ ๋ช… ๋งŒํผ ์ž˜๋ชป๋˜์–ด์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— 1m2๋‹น ์‚ฌ๋žŒ์˜ ์ˆ˜ L (1 ≤ L ≤ 10)๊ณผ ํŒŒํ‹ฐ๊ฐ€ ์—ด๋ ธ๋˜..

[BAEKJOON C++] 4999_์•„!

์žฌํ™˜์ด๋Š” ์ €์Šคํ‹ด ๋น„๋ฒ„ ์ฝ˜์„œํŠธ์—์„œ ์†Œ๋ฆฌ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ์งˆ๋Ÿฌ์„œ ์ธํ›„์—ผ์— ๊ฑธ๋ ธ๋‹ค. ์˜์‚ฌ๋Š” ์žฌํ™˜์ด์—๊ฒŒ "aaah"๋ฅผ ๋งํ•ด๋ณด๋ผ๊ณ  ์‹œ์ผฐ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ ์žฌํ™˜์ด๋Š” ์˜์‚ฌ๊ฐ€ ์›ํ•˜๋Š”๋งŒํผ ์†Œ๋ฆฌ๋ฅผ ๊ธธ๊ฒŒ ๋‚ผ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์˜์‚ฌ๋Š” ์žฌํ™˜์ด์—๊ฒŒ ํŠน์ •ํ•œ ๊ธธ์ด์˜ "aah"๋ฅผ ๋งํ•ด๋ณด๋ผ๊ณ  ์š”์ฒญํ•œ๋‹ค. ์–ด๋–ค ์˜์‚ฌ๋Š” "aaaaaah"๋ฅผ ์š”๊ตฌํ•˜๊ธฐ๋„ ํ•˜๊ณ , "h"๋งŒ ์š”๊ตฌํ•˜๋Š” ์˜์‚ฌ๋„ ์žˆ๋‹ค. ๋ชจ๋“  ์˜์‚ฌ๋Š” ์ž์‹ ์ด ์›ํ•˜๋Š” ๊ธธ์ด์˜ "aah"๋ฅผ ๋“ฃ์ง€ ๋ชปํ•˜๋ฉด ์ง„๋‹จ์„ ๋‚ด๋ฆด ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ, ์žฌํ™˜์ด๋Š” ์ง‘์—์„œ ์ž์‹ ์ด ์–ผ๋งˆ๋‚˜ ๊ธธ๊ฒŒ "aah"๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ƒˆ๊ณ , ์ž๊ธฐ๊ฐ€ ์†Œ๋ฆฌ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ธธ์ด์˜ "aah"๋ฅผ ์š”๊ตฌํ•˜๋Š” ์˜์‚ฌ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์žฌํ™˜์ด๊ฐ€ ๋‚ผ ์ˆ˜ ์žˆ๋Š” "aah"์˜ ๊ธธ์ด์™€ ์˜์‚ฌ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ๊ทธ ๋ณ‘์›์— ๊ฐ€์•ผํ•˜๋Š”์ง€ ๋ง์•„์•ผ..

[Coding Interview University] ํž™ / ์šฐ์„ ์ˆœ์œ„ ํ / ์ด์ง„ ํž™ : ์ด๋ก  ๋ฐ ๊ตฌํ˜„

๐ŸŒ ํž™(heap) ์ž๋ฃŒ๊ตฌ์กฐ : ์ตœ๋Œ€๊ฐ’ ๋ฐ ์ตœ์†Œ๊ฐ’์„ ์ฐพ์•„๋‚ด๋Š” ์—ฐ์‚ฐ์„ ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์™„์ „ ์ด์ง„ํŠธ๋ฆฌ (complete binary tree) ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ : A๊ฐ€ B์˜ ๋ถ€๋ชจ ๋…ธ๋“œ์ด๋ฉด, A์˜ ํ‚ค ๊ฐ’๊ณผ B์˜ ํ‚ค ๊ฐ’ ์‚ฌ์ด์—๋Š” ๋Œ€์†Œ ๊ด€๊ณ„๊ฐ€ ์„ฑ๋ฆฝ๋œ๋‹ค : ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ : ๋ชจ๋“  ๋…ธ๋“œ์— ์ €์žฅ๋œ ๊ฐ’์€ ์ž์‹ ๋…ธ๋“œ์— ์ €์žฅ๋œ ๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ์ž‘์•„์•ผ ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ตœ๋Œ€ ํž™ : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฐ ํž™ ๊ฐ€์ง left : i * 2 + 1 right : i * 2 + 2 parent : (i - 1) / 2 ์ตœ์†Œ ํž™ : ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’์ด ์ž์‹ ๋…ธ๋“œ์˜ ํ‚ค ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ์ž‘์€ ํž™ ๊ฐ€์ง ๐ŸŒ ํž™(heap) ์ฃผ์š” ๋ฉ”์„œ๋“œ peek() : ์ตœ๋Œ€/์ตœ์†Œ๊ฐ’ ๋ฆฌํ„ด size() : ํž™ ์‚ฌ์ด์ฆˆ ๋ฆฌํ„ด ..

[BAEKJOON C++] 3003_ํ‚น, ํ€ธ, ๋ฃฉ, ๋น„์ˆ, ๋‚˜์ดํŠธ, ํฐ

๋™ํ˜์ด๋Š” ์˜ค๋ž˜๋œ ์ฐฝ๊ณ ๋ฅผ ๋’ค์ง€๋‹ค๊ฐ€ ๋‚ก์€ ์ฒด์ŠคํŒ๊ณผ ํ”ผ์Šค๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์ฒด์ŠคํŒ์˜ ๋จผ์ง€๋ฅผ ํ„ธ์–ด๋‚ด๊ณ  ๊ฑธ๋ ˆ๋กœ ๋‹ฆ์œผ๋‹ˆ ๊ทธ๋Ÿญ์ €๋Ÿญ ์“ธ๋งŒํ•œ ์ฒด์ŠคํŒ์ด ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ฒ€์ •์ƒ‰ ํ”ผ์Šค๋Š” ๋ชจ๋‘ ์žˆ์—ˆ์œผ๋‚˜, ํฐ์ƒ‰ ํ”ผ์Šค๋Š” ๊ฐœ์ˆ˜๊ฐ€ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์•˜๋‹ค. ์ฒด์Šค๋Š” ์ด 16๊ฐœ์˜ ํ”ผ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ํ‚น 1๊ฐœ, ํ€ธ 1๊ฐœ, ๋ฃฉ 2๊ฐœ, ๋น„์ˆ 2๊ฐœ, ๋‚˜์ดํŠธ 2๊ฐœ, ํฐ 8๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๋™ํ˜์ด๊ฐ€ ๋ฐœ๊ฒฌํ•œ ํฐ์ƒ‰ ํ”ผ์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ช‡ ๊ฐœ๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์•ผ ์˜ฌ๋ฐ”๋ฅธ ์„ธํŠธ๊ฐ€ ๋˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋™ํ˜์ด๊ฐ€ ์ฐพ์€ ํฐ์ƒ‰ ํ‚น, ํ€ธ, ๋ฃฉ, ๋น„์ˆ, ๋‚˜์ดํŠธ, ํฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’์€ 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  10๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์—์„œ ์ฃผ์–ด์ง„ ์ˆœ์„œ๋Œ€๋กœ ๋ช‡ ๊ฐœ์˜ ํ”ผ์Šค๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์•ผ ๋˜๋Š”์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์ˆ˜..

[BAEKJOON C++] 1871_์ข‹์€ ์ž๋™์ฐจ ๋ฒˆํ˜ธํŒ

์•จ๋ฒ„ํƒ€์˜ ์ž๋™์ฐจ ๋ฒˆํ˜ธํŒ์€ ABC-0123 (์„ธ ๊ธ€์ž, ๋„ค ์ˆซ์ž)์™€ ๊ฐ™์ด ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ์ข‹์€ ๋ฒˆํ˜ธํŒ์€ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์˜ ๊ฐ€์น˜์™€ ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์˜ ๊ฐ€์น˜์˜ ์ฐจ์ด๊ฐ€ 100์„ ๋„˜์ง€ ์•Š๋Š” ๋ฒˆํ˜ธํŒ์ด๋‹ค. ๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์˜ ๊ฐ€์น˜๋Š” ๊ธ€์ž๋ฅผ 26์ง„๋ฒ• ์ˆ˜์ฒ˜๋Ÿผ ๊ณ„์‚ฐํ•œ๋‹ค. (๊ฐ ์ž๋ฆฌ๊ฐ€ [A..Z]) ์˜ˆ๋ฅผ ๋“ค์–ด, "ABC"์˜ ๊ฐ€์น˜๋Š” 28 (0×262 + 1×261 + 2×260)์ด ๋œ๋‹ค. "ABC-0123"์€ |28 - 123| ≤ 100 ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ข‹์€ ๋ฒˆํ˜ธํŒ์ด๋‹ค. ์ž๋™์ฐจ ๋ฒˆํ˜ธํŒ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ข‹์€ ๋ฒˆํ˜ธํŒ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋ฒˆํ˜ธํŒ์˜ ์ˆ˜ N (1 ≤ N ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ ์ค„์—๋Š” ์ž๋™์ฐจ ๋ฒˆํ˜ธํŒ์ด LLL-DDDD ํ˜•์‹์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ๊ฐ๊ฐ์˜ ..

[BAEKJOON C++] 1032_๋ช…๋ น ํ”„๋กฌํ”„ํŠธ

์‹œ์ž‘ -> ์‹คํ–‰ -> cmd๋ฅผ ์ณ๋ณด์ž. ๊ฒ€์ • ํ™”๋ฉด์ด ๋ˆˆ์— ๋ณด์ธ๋‹ค. dir์ด๋ผ๊ณ  ์น˜๋ฉด ๊ทธ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ์„œ๋ธŒ๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ์ด ๋ชจ๋‘ ๋‚˜์˜จ๋‹ค. ์ด๋•Œ ์›ํ•˜๋Š” ํŒŒ์ผ์„ ์ฐพ์œผ๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•˜๋ฉด ๋œ๋‹ค. dir *.exe๋ผ๊ณ  ์น˜๋ฉด ํ™•์žฅ์ž๊ฐ€ exe์ธ ํŒŒ์ผ์ด ๋‹ค ๋‚˜์˜จ๋‹ค. "dir ํŒจํ„ด"๊ณผ ๊ฐ™์ด ์น˜๋ฉด ๊ทธ ํŒจํ„ด์— ๋งž๋Š” ํŒŒ์ผ๋งŒ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, dir a?b.exe๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•˜๋ฉด ํŒŒ์ผ๋ช…์˜ ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๊ฐ€ a์ด๊ณ , ์„ธ ๋ฒˆ์งธ ๊ธ€์ž๊ฐ€ b์ด๊ณ , ํ™•์žฅ์ž๊ฐ€ exe์ธ ๊ฒƒ์ด ๋ชจ๋‘ ๋‚˜์˜จ๋‹ค. ์ด๋•Œ ๋‘ ๋ฒˆ์งธ ๋ฌธ์ž๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ๋‚˜์™€๋„ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, acb.exe, aab.exe, apb.exe๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋จผ์ € ์ฃผ์–ด์กŒ์„ ๋•Œ, ํŒจํ„ด์œผ๋กœ ๋ญ˜ ์ณ์•ผ ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š”์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ ํŒจํ„ด์—๋Š” ์•ŒํŒŒ๋ฒณ๊ณผ "." ๊ทธ..