ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: ๋ฐฉ๋ฌธ ๊ธธ์ด

๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ฐฉ๋ฌธ ๊ธธ์ด programmers.co.kr ๋ฌธ์ œ ํ’€์ด ์บ๋ฆญํ„ฐ๊ฐ€ [0, 0] ์ขŒํ‘œ์—์„œ ์‹œ์ž‘ํ•ด ๋ช…๋ น์— ๋”ฐ๋ผ ์ƒ, ํ•˜, ์ขŒ, ์šฐ๋กœ ์ด๋™ํ•œ๋‹ค. ์ค‘๋ณตํ•˜์—ฌ ์ด๋™ํ•œ ๊ฑฐ๋ฆฌ์™€ ๋ฒ”์œ„ ๋ฐ–์œผ๋กœ ์ด๋™ํ•œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜์—ฌ ์ด๋™ํ•œ ๊ฑฐ๋ฆฌ์˜ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ํ†ตํ•ด `U, D, L, R`๋กœ ์ด๋™ํ•  ๊ฒฝ์šฐ ๋ณ€ํ™”ํ•˜๋Š” ์ขŒํ‘œ๋ฅผ ์„ ์–ธํ•œ ํ›„, ๋ฒ”์œ„์— ๋”ฐ๋ผ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ `visited`์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ์—์„œ ๊ตฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋‹ต์€ `visteid // 2`๊ฐ€ ๋œ๋‹ค. ์ด์™€ ๊ฐ™์€ ์ด์œ ๋Š” ์ด๋™ํ•  ๋•Œ๋Š” ์ถœ๋ฐœํ•œ ๊ณณ๊ณผ ๋„์ฐฉํ•œ ๊ณณ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๊ธฐ๋กํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ์ฆ‰ ํ˜„์žฌ ์ขŒํ‘œ๊ฐ€ `[x, y]` ๋‹ค์Œ ์ขŒํ‘œ๊ฐ€ `[next_x, next_y]`๋ผ๋ฉด `[x, y, next_x, next_y],..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: ์ž…๊ตญ์‹ฌ์‚ฌ

๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ž…๊ตญ์‹ฌ์‚ฌ n๋ช…์ด ์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ์œ„ํ•ด ์ค„์„ ์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ž…๊ตญ์‹ฌ์‚ฌ๋Œ€์— ์žˆ๋Š” ์‹ฌ์‚ฌ๊ด€๋งˆ๋‹ค ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ๋ชจ๋“  ์‹ฌ์‚ฌ๋Œ€๋Š” ๋น„์–ด์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์‹ฌ์‚ฌ๋Œ€์—์„œ๋Š” ๋™์‹œ์— ํ•œ programmers.co.kr ๋ฌธ์ œ ํ’€์ด n๋ช…์ด ์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ํ•˜๋Š”๋ฐ ์‹ฌ์‚ฌ๋Œ€์— ๋”ฐ๋ผ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด๋•Œ ์‹ฌ์‚ฌ ๋Œ€๋งˆ๋‹ค ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๊ฐ๊ธฐ ๋‹ค๋ฅด๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋ถ„๋ฅ˜์™€ ๊ฐ™์ด `์ด๋ถ„ ํƒ์ƒ‰`์œผ๋กœ ํ’€์–ด์•ผ ์‹œ๊ฐ„ ๋‚ด์— ํ†ต๊ณผ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, `๋ชจ๋‘ ์ž…๊ตญํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ // ๊ฐ ์‹ฌ์‚ฌ๋Œ€๋ณ„ ์‹ฌ์‚ฌ์‹œ๊ฐ„ = ์ž…๊ตญ์ž ์ˆ˜`๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ง€๋ฅผ ์ฐพ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— `์ด๋ถ„ ํƒ์ƒ‰`์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค. `์ด๋ถ„ ํƒ์ƒ‰`์—์„œ๋Š” `left`, `right`๋ฅผ ์„ค์ •ํ•˜์—ฌ์•ผ ํ•˜๋Š”๋ฐ ์ด๋Š” ๊ฐ€์žฅ ์งง๊ฒŒ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ 1๊ณผ..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: ๋„๋‘‘์งˆ

๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋„๋‘‘์งˆ ๋„๋‘‘์ด ์–ด๋Š ๋งˆ์„์„ ํ„ธ ๊ณ„ํš์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งˆ์„์˜ ๋ชจ๋“  ์ง‘๋“ค์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋™๊ทธ๋ž—๊ฒŒ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ง‘๋“ค์€ ์„œ๋กœ ์ธ์ ‘ํ•œ ์ง‘๋“ค๊ณผ ๋ฐฉ๋ฒ”์žฅ์น˜๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ ‘ํ•œ programmers.co.kr ๋ฌธ์ œ ํ’€์ด ์ธ์ ‘ํ•œ ๋‘ ์ง‘์€ ๋ฐฉ๋ฒ”์žฅ์น˜๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ํ„ธ ์ˆ˜ ์—†๋‹ค๋Š” ์ œํ•œ ์กฐ๊ฑด์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋•Œ ์ง‘์„ ํ„ธ์–ด์„œ ๊ฐ€์žฅ ํฐ๋ˆ์„ ํ›”์น  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ง‘ 1๊ฐœ : ํ•ด๋‹น ์ง‘์„ ํ„ฐ๋Š” ๊ฒƒ์ด ์ตœ๋Œ€ ๊ฐ’์ด๋‹ค. ์ง‘ 2๊ฐœ : ๋‘˜ ์ค‘์— `money`๊ฐ€ ํฐ ๊ฒƒ์„ ํ„ฐ๋Š” ๊ฒƒ์ด ์ตœ๋Œ€ ๊ฐ’์ด๋‹ค. ์ง‘ 3๊ฐœ : `i์™€ i - 2` ๋˜๋Š” `i - 1` ์ง‘์˜ `money` ์ค‘ ์ตœ๋Œ€๊ฐ’์ธ ๊ฒฝ์šฐ๋ฅผ ํ„ฐ๋Š” ๊ฒƒ์ด ์ตœ๋Œ€์ด..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: ์กฐ์ด์Šคํ‹ฑ

๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์กฐ์ด์Šคํ‹ฑ ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ ์•ŒํŒŒ๋ฒณ ์ด๋ฆ„์„ ์™„์„ฑํ•˜์„ธ์š”. ๋งจ ์ฒ˜์Œ์—” A๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ex) ์™„์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด๋ฆ„์ด ์„ธ ๊ธ€์ž๋ฉด AAA, ๋„ค ๊ธ€์ž๋ฉด AAAA ์กฐ์ด์Šคํ‹ฑ์„ ๊ฐ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ–ฒ - ๋‹ค programmers.co.kr ๋ฌธ์ œ ํ’€์ด ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ ์•ŒํŒŒ๋ฒณ ์ด๋ฆ„์„ ์™„์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ด๋•Œ ์กฐ์ด์Šคํ‹ฑ์„ ์›€์ง์ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋™์ž‘ํ•œ๋‹ค. โ–ฒ - ๋‹ค์Œ ์•ŒํŒŒ๋ฒณ โ–ผ - ์ด์ „ ์•ŒํŒŒ๋ฒณ (A์—์„œ ์•„๋ž˜์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด Z๋กœ) โ—€ - ์ปค์„œ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ (์ฒซ ๋ฒˆ์งธ ์œ„์น˜์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ๋ฌธ์ž์— ์ปค์„œ) โ–ถ - ์ปค์„œ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ์•ŒํŒŒ๋ฒณ์ด A์—์„œ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ๋น ๋ฅธ์ง€, Z์—์„œ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ๋น ๋ฅธ์ง€์— ๋”ฐ๋ผ ์ดˆ๊ธฐ์— ์กฐ์ด์Šคํ‹ฑ์„ ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ๊ฐ€์ง„..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: ํฐ ์ˆ˜ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํฐ ์ˆ˜ ๋งŒ๋“ค๊ธฐ programmers.co.kr ๋ฌธ์ œ ํ’€์ด ์–ด๋–ค ์ˆซ์ž์—์„œ K๊ฐœ์˜ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ–ˆ์„ ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆซ์ž๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” `stack`์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. `stack`์— ๊ฐ’์ด ์—†๋‹ค๋ฉด ์ˆ˜๋ฅผ `append` ํ•œ๋‹ค. `stack`์— ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ํ˜„์žฌ์˜ ์ˆ˜์™€ `top`์„ ๋น„๊ตํ•˜์—ฌ ๊ฐ’์ด ๊ฐ’์ด ํฌ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ `pop`ํ•œ๋‹ค. ๋ฌธ์ œ์— ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” `K`๊ฐ€ ์ฃผ์–ด์ง€๋ฏ€๋กœ, ์ด ์—ญ์‹œ ๊ฐ™์ด ํŒ๋‹จํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ `K`๊ฐ€ 0์ด ๋œ๋‹ค๋ฉด ์ฆ‰์‹œ ์ค‘๋‹จํ•˜๊ณ , ๋‚จ์€ ์ˆ˜๋“ค์„ `stack`์— ์‚ฝ์ž…ํ•œ๋‹ค. ์ฝ”๋“œ def solution(number, k): stack = [] for i, num in enumerate(number): while stack and..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: SQL - IS NULL

๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ํ’€์ด ํ•„๋“œ์˜ ๊ฐ’์ด `Null`์ธ ๊ฒฝ์šฐ, `WHERE` ๋˜๋Š” `IF`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ `Null`์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ฉด ํ•„์š”์— ๋”ฐ๋ผ ๋ฐ˜์˜ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ ์ด๋ฆ„์ด ์—†๋Š” ๋™๋ฌผ์˜ ์•„์ด๋”” SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ์ด๋ฆ„์ด ์žˆ๋Š” ๋™๋ฌผ์˜ ์•„์ด๋”” SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID NULL ์ฒ˜๋ฆฌํ•˜๊ธฐ SELECT ANIMAL_TYPE, IF (N..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: SQL - SUM, MAX, MIN

๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ํ’€์ด ํ…Œ์ด๋ธ”์—์„œ ์›ํ•˜๋Š” ์กฐ๊ฑด์— ๋”ฐ๋ผ `COUNT`, `MAX`, `MIN`์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. `SELECT`์—์„œ ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ ์ตœ๋Œ“๊ฐ’ ๊ตฌํ•˜๊ธฐ SELECT MAX(DATETIME) FROM ANIMAL_INS ์ตœ์†Ÿ๊ฐ’ ๊ตฌํ•˜๊ธฐ SELECT MIN(DATETIME) FROM ANIMAL_INS ๋™๋ฌผ ์ˆ˜ ๊ตฌํ•˜๊ธฐ SELECT COUNT(*) FROM ANIMAL_INS ์ค‘๋ณต ์ œ๊ฑฐํ•˜๊ธฐ SELECT COUNT(DISTINCT NAME) FROM ANIMAL..

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค: SQL - SELECT

๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ํ’€์ด MySQL์—์„œ `SELECT`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ๋‹ค์–‘ํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ์ฐพ๊ณ ์ž ํ•˜๋Š” ํ•„๋“œ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์€ `SELECT`๋ฅผ ํ†ตํ•ด ํ•˜๋ฉฐ, `ORDER BY`, `GROUP BY`์™€ ๊ฐ™์€ ๊ฒƒ์„ ํ™œ์šฉํ•˜์—ฌ ์กฐ๊ฑด์— ๋งž๊ฒŒ ํ•„๋“œ๋“ค์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ ์กฐํšŒ ํ•˜๊ธฐ SELECT * FROM ANIMAL_INS ์—ญ์ˆœ ์ •๋ ฌํ•˜๊ธฐ SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC ์•„ํ”ˆ ๋™๋ฌผ ์ฐพ๊ธฐ SELECT ANIM..

๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€