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

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

[inflearn ๊ฐ•์˜] ๊ธฐ๋ณธ ๋ฌธ๋ฒ• - ๋ฐฐ์—ด

=> C++ Let's Make Games ๐Ÿซง ๋ฐฐ์—ด (์ดˆ๊ธฐํ™” ์•ˆํ•˜๋ฉด ์“ฐ๋ ˆ๊ธฐ๊ฐ’!) ๋ณ€์ˆ˜ํƒ€์ž… ๋ฐฐ์—ด๋ช…[๊ฐœ์ˆ˜]; : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ํ•œ๋ฒˆ์— ์ƒ์„ฑํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ : ๋ฐฐ์—ด์€ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋Ÿญ์— ๊ณต๊ฐ„์ด ํ• ๋‹น๋จ : ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•ด์„œ ์›ํ•˜๋Š” ๋ถ€๋ถ„์— ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’ ์ €์žฅํ•จ : ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ n-1 : ์„ ์–ธํ•˜๊ณ  ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์“ฐ๋ ˆ๊ธฐ ๊ฐ’์ด ๋“ค์–ด๊ฐ! // Chapter1_10 #include using namespace std; int main() { /* ๋ฐฐ์—ด ๋ณ€์ˆ˜ํƒ€์ž… ๋ฐฐ์—ด๋ช…[๊ฐœ์ˆ˜]; : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ํ•œ๋ฒˆ์— ์ƒ์„ฑํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ : ๋ฐฐ์—ด์€ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋Ÿญ์— ๊ณต๊ฐ„์ด ํ• ๋‹น๋จ : ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•ด์„œ ์›ํ•˜๋Š” ๋ถ€๋ถ„์— ์ ‘๊ทผํ•˜์—ฌ ๊ฐ’ ์ €์žฅํ•จ : ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ n-1 : ์„ ์–ธํ•˜๊ณ  ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์“ฐ๋ ˆ๊ธฐ..

[Coding Interview University] ๋ฐฐ์—ด : ์ด๋ก  ๋ฐ ๊ตฌํ˜„

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

[Coding Interview University] ๋น…์˜ค(Big-O)ํ‘œ๊ธฐ๋ฒ•

๐Ÿซง ๋น„์œ ํ•˜๊ธฐ ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค๋ฉด ? ์˜จ๋ผ์ธ์œผ๋กœ ์ „์†ก ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ๋ฌด์ง€๋ง‰ํ•˜๊ฒŒ ํฌ๋‹ค๋ฉด ? ์šด์ „ or ๋น„ํ–‰๊ธฐ๐Ÿš€ ๐Ÿซง ์‹œ๊ฐ„ ๋ณต์žก๋„ ์ ๊ทผ์  ์‹คํ–‰ ์‹œ๊ฐ„ (asymptotic runtime), big-O ์‹œ๊ฐ„ ๊ฐœ๋… ์˜จ๋ผ์ธ ์ „์†ก : O(s), s๋Š” ํŒŒ์ผ์˜ ํฌ๊ธฐ ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ „์†ก ์‹œ๊ฐ„์ด ์„ ํ˜•์ ์œผ๋กœ ์ฆ๊ฐ€ ๋น„ํ–‰๊ธฐ ์ „์†ก : ํŒŒ์ผ์˜ ํฌ๊ธฐ ์ƒ๊ด€์—†์ด O(1) ์ƒ์ˆ˜์‹œ๊ฐ„๋งŒํผ ์†Œ์š” โค๏ธ big-O : ์‹œ๊ฐ„์˜ ์ƒํ•œ : ๋ฐฐ์—ด์˜ ๋ชจ๋“  ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ : O(n) ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, O(n^3) ํ˜น์€ O(n) ๋ณด๋‹ค ํฐ ์–ด๋–ค ์ˆ˜ํ–‰ ์‹œ๊ฐ„์œผ๋กœ ๊ฐ€๋Šฅ โค๏ธ big-Ω (omega) : ๋“ฑ๊ฐ€ or ํ•˜ํ•œ : Ω(n) ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Ω(log N) ํ˜น์€ Ω(1) ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ โค๏ธ big-θ (theta) : O์™€ Ω ๋‘˜ ๋‹ค ์˜๋ฏธ (๋”ฑ ๋งž๋Š”..

[BAEKJOON C++] 5635_์ƒ์ผ

์–ด๋–ค ๋ฐ˜์— ์žˆ๋Š” ํ•™์ƒ๋“ค์˜ ์ƒ์ผ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๋‚˜์ด๊ฐ€ ์ ์€ ์‚ฌ๋žŒ๊ณผ ๊ฐ€์žฅ ๋งŽ์€ ์‚ฌ๋žŒ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋ฐ˜์— ์žˆ๋Š” ํ•™์ƒ์˜ ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 100) ๋‹ค์Œ n๊ฐœ ์ค„์—๋Š” ๊ฐ ํ•™์ƒ์˜ ์ด๋ฆ„๊ณผ ์ƒ์ผ์ด "์ด๋ฆ„ dd mm yyyy"์™€ ๊ฐ™์€ ํ˜•์‹ ์ด๋ฆ„์€ ๊ทธ ํ•™์ƒ์˜ ์ด๋ฆ„์ด๋ฉฐ, ์ตœ๋Œ€ 15๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. dd mm yyyy๋Š” ์ƒ์ผ ์ผ, ์›”, ์—ฐ๋„์ด๋‹ค.(1990 ≤ yyyy ≤ 2010, 1 ≤ mm ≤ 12, 1 ≤ dd ≤ 31) ์ฃผ์–ด์ง€๋Š” ์ƒ์ผ์€ ์˜ฌ๋ฐ”๋ฅธ ๋‚ ์งœ์ด๋ฉฐ, ์—ฐ, ์›” ์ผ์€ 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋ฆ„์ด ๊ฐ™๊ฑฐ๋‚˜, ์ƒ์ผ์ด ๊ฐ™์€ ์‚ฌ๋žŒ์€ ์—†๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๊ฐ€์žฅ ๋‚˜์ด๊ฐ€ ์ ์€ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„, ๋‘˜์งธ ์ค„์— ๊ฐ€์žฅ ๋‚˜์ด๊ฐ€ ๋งŽ์€ ์‚ฌ๋žŒ ์ด๋ฆ„์„ ์ถœ๋ ฅ // [5635] ์ƒ์ผ /* ์–ด๋–ค ๋ฐ˜์— ์žˆ..

[BAEKJOON C++] 11098_์ฒผ์‹œ๋ฅผ ๋„์™€์ค˜

๊ตฌ๋‹จ์ด ์„ฑ์ ์„ ๋‚ด์ง€ ๋ชปํ•œ๋‹ค๋ฉด ๋‹ต์€ ์ƒˆ ์„ ์ˆ˜ ์˜์ž…๋ฟ ์ฒผ์‹œ๊ฐ€ ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ€์žฅ ๋น„์‹ผ ์„ ์ˆ˜๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ๋•๊ธฐ ์ž…๋ ฅ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค (n≤100) ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ ๋ฒˆ์งธ ์ค„ p๋Š” ๊ณ ๋ คํ•ด์•ผ๋  ์„ ์ˆ˜์˜ ์ˆ˜์ด๋‹ค (1≤p≤100). ๊ทธ ์•„๋ž˜ p๊ฐœ์˜ ์ค„์—๋Š” ์„ ์ˆ˜์˜ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค ๊ฐ๊ฐ์˜ ์ค„์€ ์„ ์ˆ˜์˜ ๊ฐ€๊ฒฉ C ์™€ ์ด๋ฆ„์„ ์ž…๋ ฅํ•œ๋‹ค ์ถœ๋ ฅ ๊ฐ๊ฐ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—์„œ ๊ฐ€์žฅ ๋น„์‹ผ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ์ถœ๋ ฅ // [11098] ์ฒผ์‹œ๋ฅผ ๋„์™€์ค˜ /* ๊ตฌ๋‹จ์ด ์„ฑ์ ์„ ๋‚ด์ง€ ๋ชปํ•œ๋‹ค๋ฉด ๋‹ต์€ ์ƒˆ ์„ ์ˆ˜ ์˜์ž…๋ฟ ์ฒผ์‹œ๊ฐ€ ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ€์žฅ ๋น„์‹ผ ์„ ์ˆ˜๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ๋•๊ธฐ ์ž…๋ ฅ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค (n≤100) ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ ๋ฒˆ์งธ ์ค„ p๋Š” ๊ณ ๋ คํ•ด์•ผ๋  ์„ ์ˆ˜์˜ ์ˆ˜์ด๋‹ค (1≤p≤1..

[BAEKJOON C++] 1977_์™„์ „์ œ๊ณฑ์ˆ˜

M๊ณผ N์ด ์ฃผ์–ด์งˆ ๋•Œ M์ด์ƒ N์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ค‘ ์™„์ „์ œ๊ณฑ์ˆ˜์ธ ๊ฒƒ์„ ๋ชจ๋‘ ๊ณจ๋ผ ๊ทธ ํ•ฉ์„ ๊ตฌํ•˜๊ณ  ๊ทธ ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— M์ด, ๋‘˜์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. M๊ณผ N์€ 10000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋ฉฐ M์€ N๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ž‘๋‹ค. ์ถœ๋ ฅ M์ด์ƒ N์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ค‘ ์™„์ „์ œ๊ณฑ์ˆ˜์ธ ๊ฒƒ์„ ๋ชจ๋‘ ์ฐพ์•„ ์ฒซ์งธ ์ค„์— ๊ทธ ํ•ฉ์„, ๋‘˜์งธ ์ค„์— ๊ทธ ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. M์ด์ƒ N์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ค‘ ์™„์ „์ œ๊ณฑ์ˆ˜๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ์ฒซ์งธ ์ค„์— -1 ์ถœ๋ ฅ // [1977] ์™„์ „์ œ๊ณฑ์ˆ˜ /* M๊ณผ N์ด ์ฃผ์–ด์งˆ ๋•Œ M์ด์ƒ N์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ค‘ ์™„์ „์ œ๊ณฑ์ˆ˜์ธ ๊ฒƒ์„ ๋ชจ๋‘ ๊ณจ๋ผ ๊ทธ ํ•ฉ์„ ๊ตฌํ•˜๊ณ  ๊ทธ ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— M์ด, ๋‘˜์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. M๊ณผ N์€ 10000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋ฉฐ M์€ N๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ž‘๋‹ค..