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

๐Ÿบ ๋งค์ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋‹จ์–ด ๋ณ€ํ™˜ ๋ฌธ์ œํ’€์ด์— ๋ฐฑํŠธ๋ž˜ํ‚น์„ ์ ์šฉํ•˜์˜€๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋‘ ๊ฐœ์˜ ๋‹จ์–ด begin, target๊ณผ ๋‹จ์–ด ์ง‘ํ•ฉ words๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ตœ์†Œ ๋ช‡ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ begin์ด target์œผ๋กœ ๋ณ€ํ™˜ ๋  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ผ. ์ œํ•œ์‚ฌํ•ญ ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ๋งŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. words์— ์žˆ๋Š” ๋‹จ์–ด๋กœ๋งŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. 3 dot->dog->cog์™€ ๊ฐ™์ด 4๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ๋ณ€ํ™˜ ๊ฐ€๋Šฅ. ๋ฌธ์ œํ’€์ด ์ด ๋ฌธ์ œ์˜ ๊ฐ€์žฅ ์ž‘์€ ํ•˜์œ„๋ฌธ์ œ๋Š” words ์ˆœํšŒํ•  ๋•Œ ์ด์ „ ๋ฌธ์ž์—ด์„ ํ˜„์žฌ ๋ฌธ์ž์—ด์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€ ์—†๋Š”๊ฐ€ ์ด๋‹ค. ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•  ๊ฒฝ์šฐ ์ด์ „๋ฌธ์ž์—ด์„ ํ˜„์žฌ ๋ฌธ์ž์—ด๋กœ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ์™€ ์ˆ˜์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‘˜ ๋‹ค ํƒ์ƒ‰ํ•ด์•ผํ•œ๋‹ค. ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์ˆ˜์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๋งŒ .. ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋„คํŠธ์›Œํฌ ๋ฌธ์ œ ๋„คํŠธ์›Œํฌ๋ž€ ์ปดํ“จํ„ฐ ์ƒํ˜ธ ๊ฐ„์— ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ๋ฅผ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ์ปดํ“จํ„ฐA๊ฐ€ ์ปดํ“จํ„ฐB์™€ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๊ณ , ์ปดํ“จํ„ฐB๊ฐ€ ์ปดํ“จํ„ฐC์™€ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค๋ฉด, ์ปดํ“จํ„ฐA์™€ ์ปดํ“จํ„ฐC๋Š” ๊ฐ„์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ปดํ“จํ„ฐA,B,C๋Š” ๋ชจ๋‘ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์ƒ์— ์žˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค. ์ปดํ“จํ„ฐ์˜ ๊ฐฏ์ˆ˜ n๊ณผ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ๋„คํŠธ์›Œํฌ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ผ. ์ž…๋ ฅ๊ฐ’ n(int): ์ปดํ“จํ„ฐ์˜ ๊ฐฏ์ˆ˜ computers(int[][]): ์ปดํ“จํ„ฐ๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ํ‘œํ˜„ํ•œ 2์ฐจ์›๋ฐฐ์—ด. ์ปดํ“จํ„ฐi์™€ ์ปดํ“จํ„ฐj๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค๋ฉด computers[i][j]๋Š” 1์ด๊ณ  ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฉด 0์ด๋‹ค. ์ œํ•œ์‚ฌํ•ญ 1 ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋“ฑ๊ตฃ๊ธธ ๋ฌธ์ œ ๋ฌผ ์›…๋ฉ์ด๊ฐ€ ์—†๋Š” ์นธ๋งŒ์œผ๋กœ ํ•™๊ต์— ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ ์ž…๋ ฅ๊ฐ’ m: ๊ฐ€๋กœ ๊ธธ์ด n: ์„ธ๋กœ ๊ธธ์ด puddles: ๋ฌผ์— ์ –์€ ์ง€์—ญ๋“ค ์ขŒํ‘œ ์ œํ•œ์‚ฌํ•ญ 1 ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ •์ˆ˜ ์‚ผ๊ฐํ˜• ๋ฌธ์ œ ์‚ผ๊ฐํ˜• ๊ผญ๋Œ€๊ธฐ์—์„œ๋ถ€ํ„ฐ ๋ฐ”๋‹ฅ๊นŒ์ง€ ์ด๋™ํ•  ๋•Œ, ์ˆซ์ž์˜ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ๊ฒฝ์šฐ๋ฅผ ์ฐพ์•„๋ผ. ์•„๋ž˜์นธ์œผ๋กœ ์ด๋™ํ•  ๋•Œ๋Š” ๋Œ€๊ฐ์„  ๋ฐฉํ–ฅ์œผ๋กœ ์™ผ์ชฝ ํ•œ ์นธ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ ํ•œ ์นธ์œผ๋กœ๋งŒ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ œํ•œ์‚ฌํ•ญ 1 ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํƒ€์ผ ์žฅ์‹๋ฌผ ๋ฌธ์ œ ์•ต๋ฌด์กฐ๊ฐœ์˜ ๋‚˜์„  ๋ชจ์–‘์ฒ˜๋Ÿผ ์ƒ๊ธด ํƒ€์ผ์ด ๋ถ™์–ด์žˆ๋‹ค. ํƒ€์ผ์ด N๊ฐœ์ผ๋•Œ ๋‘˜๋ ˆ์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋ผ. ์ œํ•œ์‚ฌํ•ญ 1 2*x + 2*y function solution(N) { let a = 0, b = 1 while (--N) { [a, b] = [b, a + b] } return getPerimeter(b, a + b) } ์‹œ๊ฐ„๋ณต์žก๋„: O(N) ๊ณต๊ฐ„๋ณต์žก๋„: O(1) ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - N์œผ๋กœ ํ‘œํ˜„ ๋ฌธ์ œ ์ˆซ์ž 5์™€ ์‚ฌ์น™์—ฐ์‚ฐ๋งŒ์œผ๋กœ 12๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5๋ฅผ ์‚ฌ์šฉํ•œ ํšŸ์ˆ˜๋Š” ๊ฐ๊ฐ 6,5,4 ์ด๊ณ , ์ด์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฒฝ์šฐ๋Š” 4์ด๋‹ค. ์ˆซ์ž N๊ณผ number๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ N๊ณผ ์‚ฌ์ธก์—ฐ์‚ฐ๋งŒ์œผ๋กœ number๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ N์˜ ์ตœ์†Œ์‚ฌ์šฉํšŸ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ผ. ์ œํ•œ์‚ฌํ•ญ 1 ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์นดํŽซ level 2 ๋ฌธ์ œ ๊ฐˆ์ƒ‰์œผ๋กœ ํ…Œ๋‘๋ฆฌ๊ฐ€ 1์ค„ ๋‘˜๋Ÿฌ์ ธ์žˆ๊ณ  ์ค‘์•™์—๋Š” ๋…ธ๋ž€์ƒ‰์ด ์น ํ•ด์ ธ ์žˆ๋Š” ์นดํŽซ์ด ์žˆ๋‹ค. ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜์™€ ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์นดํŽซ์˜ ๊ฐ€๋กœ ์„ธ๋กœ ๊ทœ๊ฒฉ์„ ๋ฐ˜ํ™˜ํ•˜๋ผ. ๋ฌธ์ œํ’€์ด 1. ์ฃผ์–ด์ง„ ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  [๊ฐ€๋กœ, ์„ธ๋กœ]๋ฅผ ์ˆœํšŒํ•œ๋‹ค. 2. ๊ทธ๋ ‡๊ฒŒ ์‚ฌ๊ฐํ˜• ์ค‘ ๋‘˜๋ ˆ์˜ ๊ธธ์ด๊ฐ€ ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜์™€ ๊ฐ™์€ ๊ฒƒ์ด ์žˆ์œผ๋ฉด ์ •๋‹ต์„ ์ฐพ์€ ๊ฒƒ. 3. ๋…ธ๋ž€์ƒ‰ ์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ ์„ธ๋กœ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ๊ฑฐ๊ธฐ์— ๊ฐˆ์ƒ‰ ๊ฒฉ์ž๊นŒ์ง€ ํ•ฉํ–ˆ์„๋•Œ์˜ ๊ฐ€๋กœ ์„ธ๋กœ ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•˜๋ฏ€๋กœ ๋…ธ๋ž€ ์‚ฌ๊ฐ„ํ˜•์˜ ๊ฐ€๋กœ ์„ธ๋กœ ๊ธธ์ด์— 2์”ฉ ๋”ํ•ด์ค€๋‹ค. function solution(brown, yellow) { let y = 0 while (++y) { const x = yellow / y if (y > x) { break } const perim.. ๋”๋ณด๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆซ์ž ์•ผ๊ตฌ level 2 ๋ฌธ์ œ ์ˆซ์ž ์•ผ๊ตฌ ๊ฒŒ์ž„์€ 1~9๊นŒ์ง€ 3์ž๋ฆฌ ์ž„์˜์˜ ์ˆซ์ž๋ฅผ ์ •ํ•œ ๋’ค ์„œ๋กœ๊ฐ€ ์ƒ๊ฐํ•œ ์ˆซ์ž๋ฅผ ๋งž์ถ”๋Š” ๊ฒŒ์ž„์ด๋‹ค. ์ˆซ์ž๋Š” ๋งž์ง€๋งŒ, ์œ„์น˜๊ฐ€ ํ‹€๋ ธ์„ ๋•Œ๋Š” ๋ณผ ์ˆซ์ž์™€ ์œ„์น˜๊ฐ€ ๋ชจ๋‘ ๋งž์„ ๋•Œ๋Š” ์ŠคํŠธ๋ผ์ดํฌ ์ˆซ์ž์™€ ์œ„์น˜๊ฐ€ ๋ชจ๋‘ ํ‹€๋ ธ์„ ๋•Œ๋Š” ์•„์›ƒ ์ž…๋ ฅ๊ฐ’ baseball: ์งˆ๋ฌธํ•œ ์„ธ์ž๋ฆฌ ์ˆ˜, ์ŠคํŠธ๋ผ์ดํฌ์˜์ˆ˜, ๋ณผ์˜ ์ˆ˜๋ฅผ ๋‹ด์€ 2์ฐจ์› ๋ฐฐ์—ด ์ถœ๋ ฅ๊ฐ’ ์ •๋‹ต์ผ ์ˆ˜ ์žˆ๋Š” ์ˆซ์ž์˜ ์ˆ˜ ๋ฌธ์ œํ’€์ด 1. ์ •๋‹ต ํ›„๋ณด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€๊ฐ’ 123 ๋ถ€ํ„ฐ ๊ฐ€์žฅ ํฐ ๊ฐ’ 987๊นŒ์ง€ ์ˆœํšŒํ•˜๋ฉฐ ์ •๋‹ต์ธ์ง€ ํ™•์ธํ•œ๋‹ค. 2. 100์ฒ˜๋Ÿผ 0์ด ํฌํ•จ๋˜์–ด์žˆ๊ฑฐ๋‚˜ 112 ์™€ ๊ฐ™์ด ๊ฐ™์€ ์ˆ˜๊ฐ€ ์ค‘๋ณต๋œ ๊ฒฝ์šฐ๋Š” ๋‹ต์ด ๋  ์ˆ˜ ์—†๋Š” ์ˆซ์ž์ด๋ฏ€๋กœ ์ œ์™ธํ•œ๋‹ค. 3. ์ •๋‹ตํ›„๋ณด์™€ ์งˆ๋ฌธํ•œ ์„ธ์ž๋ฆฌ ์ˆ˜๋ฅผ ๋น„๊ตํ•ด๋ดค์„๋–„ ์ŠคํŠธ๋ผ์ดํฌ๋‚˜ ๋ณผ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋”ฑ ๋งž์•„ ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ •๋‹ต์ด ์•„๋‹ˆ๋ฏ€๋กœ ์ œ์™ธํ•œ๋‹ค. fun.. ๋”๋ณด๊ธฐ