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

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

[BAEKJOON C++] 10178_ํ• ๋กœ์œˆ์˜ ์‚ฌํƒ•

ํ• ๋กœ์œˆ๋ฐ์ด์— ํ•œ์‹ ์ด๋„ค๋Š” ์•„๋ถ€์ง€๊ฐ€ ์‚ฌํƒ•์„ ๋‚˜๋ˆ ์ฃผ์‹ ๋‹ค. ํ•˜์ง€๋งŒ ํ•œ์‹ ์ด์˜ ํ˜•์ œ๋“ค์€ ์„œ๋กœ ์‚ฌ์ด๊ฐ€ ์ข‹์ง€์•Š์•„ ์„œ๋ฅธ์ด ๋„˜์–ด์„œ๋„ ์‚ฌํƒ•์„ ๊ณต์ •ํ•˜๊ฒŒ ๋‚˜๋ˆ„์–ด ์ฃผ์ง€ ์•Š์œผ๋ฉด ์„œ๋กœ ์‹ธ์›€์ด ๋‚œ๋‹ค. ๋งค๋…„ ํ• ๋กœ์œˆ๋ฐ์ด๋•Œ๋งˆ๋‹ค ์•„๋ถ€์ง€๋Š” ์‚ฌํƒ•์„ ์ž์‹๋“ค์—๊ฒŒ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์‚ฌํƒ•์„ ๋‚˜๋ˆ„์–ด ์ฃผ์‹œ๊ธฐ ์›ํ•˜๋ฉฐ ์ž์‹ ์—๊ฒŒ๋Š” ๋ช‡๊ฐœ๊ฐ€ ๋‚จ๊ฒŒ๋˜๋Š”์ง€์— ์•Œ๊ณ  ์‹ถ์–ด ํ•˜์‹ ๋‹ค. ์ด๋Ÿฐ ์•„๋ถ€์ง€๋ฅผ ๋„์™€์„œ ํ˜•์ œ๊ฐ„์˜ ์‹ธ์›€์„ ๋ง‰์•„๋ณด์ž. ์ž…๋ ฅ ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๊ณ , ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ์‚ฌํƒ•์˜ ๊ฐœ์ˆ˜ c์™€ ํ˜•์ œ์˜ ์ˆ˜ v๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ ์ž…๋ ฅ ์ถœ๋ ฅ ”You get __ piece(s) and your dad gets __ piece(s).” ํ˜•์‹์— ๋งž์ถ”์–ด ์ ์ ˆํ•˜๊ฒŒ ์ถœ๋ ฅ // [10178] ํ• ๋กœ์œˆ์˜ ์‚ฌํƒ• /* ํ• ๋กœ์œˆ๋ฐ์ด์— ํ•œ์‹ ์ด๋„ค๋Š” ์•„๋ถ€์ง€๊ฐ€ ์‚ฌํƒ•์„ ๋‚˜๋ˆ ์ฃผ์‹ ๋‹ค. ํ•˜์ง€๋งŒ..

[BAEKJOON C++] 5522_์นด๋“œ ๊ฒŒ์ž„

์นด๋“œ ๊ฒŒ์ž„์€ 5ํšŒ์˜ ๊ฒŒ์ž„์œผ๋กœ ์ง„ํ–‰๋˜๋ฉฐ, ๊ทธ ์ด์ ์œผ๋กœ ์Šน๋ถ€๋ฅผ ํ•˜๋Š” ๊ฒŒ์ž„์ด๋‹ค. JOI๊ตฐ์˜ ๊ฐ ๊ฒŒ์ž„์˜ ๋“์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, JOI๊ตฐ์˜ ์ด์ ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์ž…๋ ฅ ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜จ๋‹ค. i ๋ฒˆ์งธ ์ค„(1 ≤ i ≤ 5)์—๋Š” ์ •์ˆ˜ Ai๊ฐ€ ์ ํ˜€์žˆ๋‹ค. ์ด๊ฒƒ์€ i๋ฒˆ์งธ ๊ฒŒ์ž„์—์„œ์˜ JOI๊ตฐ์˜ ์ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ถœ๋ ฅ ํ‘œ์ค€ ์ถœ๋ ฅ์— JOI๊ตฐ์˜ ์ด์ ์„ ํ•œ ์ค„๋กœ ์ถœ๋ ฅํ•˜๋ผ. // [5522] ์นด๋“œ ๊ฒŒ์ž„ /* ์นด๋“œ ๊ฒŒ์ž„์€ 5ํšŒ์˜ ๊ฒŒ์ž„์œผ๋กœ ์ง„ํ–‰๋˜๋ฉฐ, ๊ทธ ์ด์ ์œผ๋กœ ์Šน๋ถ€๋ฅผ ํ•˜๋Š” ๊ฒŒ์ž„์ด๋‹ค. JOI๊ตฐ์˜ ๊ฐ ๊ฒŒ์ž„์˜ ๋“์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, JOI๊ตฐ์˜ ์ด์ ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์ž…๋ ฅ ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜จ๋‹ค. i ๋ฒˆ์งธ ์ค„(1 ≤ i ≤ 5)์—๋Š” ์ •์ˆ˜ Ai..

[Coding Interview University] ํ•ด์‹œํ…Œ์ด๋ธ” : ์ด๋ก  ๋ฐ ๊ตฌํ˜„

๐Ÿซง ํ•ด์‹œํ…Œ์ด๋ธ” (hash table) : ํšจ์œจ์ ์ธ ํƒ์ƒ‰์„ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ์„œ, key๋ฅผ value ์— ๋Œ€์‘์‹œํ‚ด : ์ตœ์•…์˜ ๊ฒฝ์šฐ O(n) // n์€ ํ‚ค์˜ ๊ฐœ์ˆ˜ : ์ตœ์„ ์˜ ๊ฒฝ์šฐ O(1) ๐Ÿซง ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์™€ ํ•ด์‹œ ์ฝ”๋“œ ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ 1) ํ‚ค์˜ ํ•ด์‹œ ์ฝ”๋“œ ๊ณ„์‚ฐ ํ‚ค์˜ ์ž๋ฃŒํ˜•์€ ๋ณดํ†ต int or long ํ‚ค์˜ ๊ฐœ์ˆ˜ ๋ฌดํ•œ (int ๋Š” ์œ ํ•œ) 2) hash(key) % array_length ๋ฐฉ์‹์œผ๋กœ ํ•ด์‹œ ์ฝ”๋“œ ์ด์šฉํ•ด ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค ๊ตฌํ•จ ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ํ•ด์‹œ ์ฝ”๋“œ๊ฐ€ ๊ฐ™์€ ์ธ๋ฑ์Šค ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ์Œ 3) ๋ฐฐ์—ด์˜ ๊ฐ ์ธ๋ฑ์Šค์—๋Š” ํ‚ค์™€ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์กด์žฌ ํ‚ค์™€ ๊ฐ’์„ ํ•ด๋‹น ์ธ๋ฑ์Šค์— ์ €์žฅ (๋ฐ˜๋“œ์‹œ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์ด์šฉ!) ๐Ÿ’ฅ ์ถฉ๋Œ : ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ํ‚ค๊ฐ€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฑฐ๋‚˜, ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ํ•ด์‹œ ์ฝ”๋“œ๊ฐ€ ๊ฐ™์€ ์ธ๋ฑ์Šค๋ฅผ..

[BAEKJOON C++] 2010 - ํ”Œ๋Ÿฌ๊ทธ

์„ ์˜์ด์˜ ์ง‘์—๋Š” ์ฝ˜์„ผํŠธ๋ฅผ ๊ฝ‚์„ ์ˆ˜ ์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ๊ฐ€ ํ•˜๋‚˜๋ฐ–์— ์—†๋‹ค. ์„ ์˜์ด๋Š” ๋งŽ์€ ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ปดํ“จํ„ฐ์˜ ์ „์› ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? ํ•˜๋‚˜์˜ ํ”Œ๋Ÿฌ๊ทธ๊ฐ€ ์žˆ๊ณ , N๊ฐœ์˜ ๋ฉ€ํ‹ฐํƒญ์ด ์žˆ๋‹ค. ๊ฐ ๋ฉ€ํ‹ฐํƒญ์€ ๋ช‡ ๊ฐœ์˜ ํ”Œ๋Ÿฌ๊ทธ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ตœ๋Œ€ ๋ช‡ ๋Œ€์˜ ์ปดํ“จํ„ฐ๋ฅผ ์ „์›์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ? ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋ฉ€ํ‹ฐํƒญ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 500,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ๋ฉ€ํ‹ฐํƒญ์ด ๋ช‡ ๊ฐœ์˜ ํ”Œ๋Ÿฌ๊ทธ๋ฅผ ๊ฝ‚์„ ์ˆ˜ ์žˆ๋„๋ก ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ž์—ฐ์ˆ˜ ์ด ์ž์—ฐ์ˆ˜๋Š” 1,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ตœ๋Œ€๋กœ ์ „์›์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. // [2010] ํ”Œ๋Ÿฌ๊ทธ /* ์„ ์˜์ด์˜ ์ง‘์—๋Š” ์ฝ˜์„ผํŠธ๋ฅผ ๊ฝ‚์„ ์ˆ˜ ์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ๊ฐ€ ํ•˜๋‚˜๋ฐ–์— ์—†๋‹ค. ์„ ์˜์ด๋Š” ๋งŽ์€ ์ปดํ“จํ„ฐ..

[BAEKJOON C++] 9325_์–ผ๋งˆ?

์ž๋™์ฐจ์— ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์˜ต์…˜์„ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š”๋ฐ ํ•ด๋นˆ์ด๋Š” ๋ง์…ˆ๊ณผ ๊ณฑ์…ˆ์„ ํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์นœ๊ตฌ ํƒœ์™„์ด์—๊ฒŒ ๋„์›€์„ ์ฒญํ–ˆ๋‹ค. ํƒœ์™„์ด๋„ ๋ง์…ˆ๊ณผ ๊ณฑ์…ˆ์„ ๋ชปํ•œ๋‹ค. ๋ถˆ์Œํ•œ ์ด ๋‘ ์นœ๊ตฌ๋ฅผ ์œ„ํ•ด ๋ชจ๋“  ์˜ต์…˜์ด ์ฃผ์–ด์ง„ ์ž๋™์ฐจ๋ฅผ ๊ตฌ๋งคํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์•ก์ˆ˜๋ฅผ ๊ณ„์‚ฐ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ ์ค„์—” ์ž๋™์ฐจ์˜ ๊ฐ€๊ฒฉ s๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ s ≤ 100 000) ๋‘˜์งธ ์ค„์—” ํ•ด๋นˆ์ด๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์˜ต์…˜์˜ ๊ฐœ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. (0 ≤ n ≤ 1 000) ๋’ค์ด์–ด n๊ฐœ์˜ ์ค„์ด ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜จ๋‹ค. ๊ฐ ์ค„์€ q ์™€ p๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ q๋Š” ํ•ด๋นˆ์ด๊ฐ€ ์‚ฌ๋ ค๊ณ  ํ•˜๋Š” ํŠน์ • ์˜ต์…˜์˜ ๊ฐœ์ˆ˜์ด๊ณ  p๋Š” ํ•ด๋‹น ์˜ต์…˜์˜ ๊ฐ€๊ฒฉ์ด๋‹ค. (1 ≤ q ≤ 100, 1 ≤ p ≤ 10 000) ์ถœ๋ ฅ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด..