Hoo, I am

junior_datalist

  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (344)
    • Backend (96)
      • โ˜•๏ธ Java (32)
      • ๐ŸŒฟ Spring (35)
      • ๐Ÿฉต Go (7)
      • ๐Ÿ”— Kafka (3)
      • ๐Ÿ Python (17)
    • Frontend (27)
      • React (9)
      • JS (18)
    • ๐ŸŒ Web (13)
    • โ˜๏ธ Cloud (10)
      • โš“๏ธ Kubernetes (0)
    • ๐Ÿ’กDatabase (1)
    • ๐Ÿ“” TIL (98)
    • ๐Ÿ“š Book (6)
      • Core Javascript (2)
      • ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ (3)
    • ๐Ÿ”ฑ Algorithm (53)
      • DP (7)
      • BFS DFS (3)
      • Greedy (7)
      • Back tracking (2)
      • Else (18)
    • ๐Ÿคฟ ์ˆจ์ฐธ๊ณ  Deep Dive (3)
    • ๐Ÿ“๊ธฐ๋ก (20)
      • ํ›„๊ธฐ (3)
06-30 12:21
  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก
๋กœ๊ทธ์ธ
๋กœ๊ทธ์•„์›ƒ ๊ธ€์“ฐ๊ธฐ ๊ด€๋ฆฌ

junior_datalist

์ปจํ…์ธ  ๊ฒ€์ƒ‰

ํƒœ๊ทธ

ํšŒ๊ณ  ์Šคํ”„๋ง๋ถ€ํŠธ3 ๋ฐฑ์ค€ 2346 ์–ด๋“œ๋ฐ”์ด๋“œ ๋กœ๋˜์˜์ตœ๊ณ ์ˆœ์œ„์™€์ตœ์ €์ˆœ์œ„ ํŒŒ์ด์ฌ ๊ธ€๋˜ ๋ชจ๋“ ๊ฐœ๋ฐœ์ž๋ฅผ์œ„ํ•œhttp์›น๊ธฐ๋ณธ์ง€์‹ npm๋งฅ์œˆ๋„์šฐ ๋ฆฌ๋ˆ…์Šค ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ ๋ฐ์ดํ„ฐ์ค‘์‹ฌ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ค๊ณ„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ map ๊ฐ์ฒด Nullish Coalescing Operator gitreset ๊ธฐ์–ต๋ณด๋‹จ๊ธฐ๋ก์„ null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž ํฌ์ธํŠธ์ปท query parameter string ์ปค๋ฐ‹๋˜๋Œ๋ฆฌ๊ธฐ ํŒŒํ‹ฐ์…˜ํ• ๋‹น์ „๋žต JavaAppletPlugin

์ตœ๊ทผ๊ธ€

๋Œ“๊ธ€

๊ณต์ง€์‚ฌํ•ญ

  • About me

์•„์นด์ด๋ธŒ

๐Ÿ”ฑ Algorithm(53)

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [lv4] N-Queen ํŒŒ์ด์ฌ

    ๋ฌธ์ œ ์„ค๋ช… ๊ฐ€๋กœ, ์„ธ๋กœ ๊ธธ์ด๊ฐ€ n์ธ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ๋œ ์ฒด์ŠคํŒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒด์ŠคํŒ ์œ„์˜ n๊ฐœ์˜ ํ€ธ์ด ์„œ๋กœ๋ฅผ ๊ณต๊ฒฉํ•  ์ˆ˜ ์—†๋„๋ก ๋ฐฐ์น˜ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ n์ด 4์ธ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ€ธ์„ ๋ฐฐ์น˜ํ•˜๋ฉด n๊ฐœ์˜ ํ€ธ์€ ์„œ๋กœ๋ฅผ ํ•œ๋ฒˆ์— ๊ณต๊ฒฉ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ฒด์ŠคํŒ์˜ ๊ฐ€๋กœ ์„ธ๋กœ์˜ ์„ธ๋กœ์˜ ๊ธธ์ด n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n๊ฐœ์˜ ํ€ธ์ด ์กฐ๊ฑด์— ๋งŒ์กฑ ํ•˜๋„๋ก ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ returnํ•˜๋Š” solutionํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ํ€ธ(Queen)์€ ๊ฐ€๋กœ, ์„ธ๋กœ, ๋Œ€๊ฐ์„ ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. n์€ 12์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n result 4 2 ์ ‘๊ทผ - N-Queen์€ ์œ ์ผํ•œ ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ์— ํ•ด๋‹น - ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ count ํ•˜๋ฉด์„œ, ํ•„์š”์—†๋Š” ๋ถ€๋ถ„์„ ๊ฐ€์ง€์น˜๊ธฐํ•œ๋‹ค. - ๋ฐฑํŠธ๋ž˜ํ‚น์€ n์ด ์ž‘์„ ๋•Œ(..

    2021.05.16
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [lv2] ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• ํŒŒ์ด์ฌ

    ์ด๊ฑด ๋ชป ํ’€์–ด์„œ ๋‹ค๋ฅธ ๋ถ„ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค. # ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์šฐ์ˆ˜ ํ’€์ด ์ฐธ๊ณ  def solution(board): ss = {} answer = 0 for y, line in enumerate(board): for x, v in enumerate(line): if v == 0: continue ss[(x,y)] = s = min( ss.get((x-1,y), 0), ss.get((x,y-1), 0), ss.get((x-1,y-1), 0) ) + 1 answer = max(answer, s ** 2) return answer ๋ฐฐ์šด ์  python dictionary์˜ get()๋ฉ”์†Œ๋“œ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, get()์˜ ์ฒซ๋ฒˆ์งธ ์ธ์ž๋Š” key๋กœ, ๋‘ ๋ฒˆ์งธ ์ธ์ž๋Š” value๊ฐ€ ๋œ๋‹ค. ์ด ๋•Œ, key๊ฐ’์ด dicti..

    2021.05.15
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [lv2] ๊ด„ํ˜ธ๋ณ€ํ™˜ ํŒŒ์ด์ฌ

    ์ ‘๊ทผ ๋ณต์žกํ•ด ๋ณด์ด์ง€๋งŒ, ๋ฌธ์ œ์˜ ์š”๊ตฌ์กฐ๊ฑด์„ ์ฐจ๋ก€๋กœ ๊ตฌํ˜„ ํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.. ๋‹จ, ํ•˜๋‚˜์˜ ํ•จ์ˆ˜์— ๋ชจ๋“  ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๋ คํ•˜๋ฉด ๋ณต์žกํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 3๊ฐœ์˜ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ์š”๊ตฌ ์‚ฌํ•ญ 1. ์ž…๋ ฅ์ด ๋นˆ ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ, ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 2. ๋ฌธ์ž์—ด w๋ฅผ ๋‘ "๊ท ํ˜•์žกํžŒ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด" u, v๋กœ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, u๋Š” "๊ท ํ˜•์žกํžŒ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด"๋กœ ๋” ์ด์ƒ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•˜๋ฉฐ, v๋Š” ๋นˆ ๋ฌธ์ž์—ด์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3. ๋ฌธ์ž์—ด u๊ฐ€ "์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด" ์ด๋ผ๋ฉด ๋ฌธ์ž์—ด v์— ๋Œ€ํ•ด 1๋‹จ๊ณ„๋ถ€ํ„ฐ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 3-1. ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ ๋ฌธ์ž์—ด์„ u์— ์ด์–ด ๋ถ™์ธ ํ›„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 4. ๋ฌธ์ž์—ด u๊ฐ€ "์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด"์ด ์•„๋‹ˆ๋ผ๋ฉด ์•„๋ž˜ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 4-1. ๋นˆ ๋ฌธ์ž์—ด์— ์ฒซ ๋ฒˆ์งธ ๋ฌธ..

    2021.04.25
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [lv3] ๋„คํŠธ์›Œํฌ ํŒŒ์ด์ฌ

    ์ ‘๊ทผ 1. ์ฃผ์–ด์ง„ ๊ฒƒ์„ ์ •๋ฆฌ : ๋…ธ๋“œ(์ปดํ“จํ„ฐ)์˜ ๊ฐฏ์ˆ˜, ๋น„๋ฐฉํ–ฅ์„ฑ, ์—ฐ๊ฒฐ์„  2. ์ฒซ ์‹œ๋„: key(์ปดํ“จํ„ฐ) - value (key์™€ ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ) ๊ตฌ์กฐ์˜ dictionary ์ž‘์„ฑ ์‹œ๋„ -> ๋ชปํ’ˆ ใ…Ž ใ…  3. dfs๋กœ ์ ‘๊ทผ : ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด visited ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ -> ์›์†Œ๋Š” ๋ชจ๋‘ 0์œผ๋กœ ์ฑ„์šฐ๊ณ , while๋ฌธ์œผ๋กœ 0์ด ๋‚˜์˜ค์ง€ ์•Š์„ ๋•Œ ๊นŒ์ง€ ์ฒดํฌ 4. ํ˜„์žฌ ๋ฐฉ๋ฌธ์ค‘์ธ ๋…ธ๋“œ(์ปดํ“จํ„ฐ)์™€ ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ **๋ชจ๋‘** ์ฐพ๊ธฐ ์œ„ํ•ด dfs ์Šคํƒ ์„ ์–ธ 5. dfs ์Šคํƒ์— append๋  ์กฐ๊ฑด์€, ์•„์ง ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€(visited[i]==0) ๋™์‹œ์—(and) ํ˜„์žฌ ๋ฐฉ๋ฌธ์ค‘์ธ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ ๋ผ(computers[curr][i]) ์žˆ์„ ๋•Œ ํ’€์ด 1) ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ def solution(n, computers)..

    2021.04.25
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [lv2] ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ ํŒŒ์ด์ฌ

    ์ ‘๊ทผ - ์•„๋ž˜์ฒ˜๋Ÿผ set() ํ˜•์‹์œผ๋กœ ์ €์žฅํ–ˆ๋‹ค. (์•„์ด๋””, ์ด๋ฆ„, ๋ฉ”์‹œ์ง€) (uid1234, Muzi, ๋‹˜์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค.) (uid4567, Prodo, ๋‹˜์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค.) (uid4567, -, ๋‹˜์ด ๋‚˜๊ฐ”์Šต๋‹ˆ๋‹ค.) (uid4567, Prodo, ๋‹˜์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค.) (uid4567, Ryan, -) - Enter, Leave์˜ ๊ฒฝ์šฐ๋งŒ ๊ฒฐ๊ณผ๊ฐ’์— ๋ฐ˜์˜๋œ๋‹ค -> "Change"๋Š” ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ํฌ์ธํŠธ 1. ์ค‘๊ฐ„์— ์ด๋ฆ„์ด ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๋‹ค. 2. ์ด๋ฆ„์€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์ง€๋งŒ, uid๋Š” ๊ณ ์ •๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ key๋กœ, ๋ณ€ํ•˜๋Š” ์ด๋ฆ„์„ value๋กœ ์žก์•˜๋‹ค. (๋”•์…”๋„ˆ๋ฆฌ ์„ฑ์งˆ์— ์˜ํ•ด, ์ฑ„ํŒ…๋ฐฉ์„ ๋‚˜๊ฐ„ ํ›„ ์ด๋ฆ„์ด ๋ณ€ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ณง๋ฐ”๋กœ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋‹ค. uid๋Š” ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€๊ฒฝ๋œ ์ด๋ฆ„๋งŒ ..

    2021.04.25
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [lv3] ๋‹จ์–ด๋ณ€ํ™˜ ํŒŒ์ด์ฌ

    ์ •๋ฆฌ 1. ๊ธ€์ž ํ•˜๋‚˜๋งŒ ์ฐจ์ด๋‚˜๋Š” ๋‹จ์–ด๋ฅผ ์ฐพ์•„ ๋ฆฌ์ŠคํŠธ์— append (์ฝ”๋“œ ์ž‘์„ฑ) 2. ์ œํ•œ์‚ฌํ•ญ์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด๊ฐ€ ๊ธธ์ง€ ์•Š์€ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์กฐ๊ธˆ ๋†’์•„์ ธ๋„ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‚ผ์ค‘ ๋ฐ˜๋ณต๋ฌธ๋„ try ํ•ด๋ด๋„ ๋œ๋‹ค. - queue๋ฅผ ๋งค๋ฒˆ ์—…๋ฐ์ดํŠธ ํ•ด์ค˜์•ผํ•œ๋‹ค. - ์™œ๋ƒํ•˜๋ฉด, ์–ด๋–ค ๋‹จ์–ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์—ฐ๊ด€๋œ ๋‹จ์–ด๋ฅผ ์ฐพ์„ ๋•Œ๋งˆ๋‹ค queue๊ฐ€ ๋งค๋ฒˆ ๋‹ฌ๋ผ์งˆ ๊ฒƒ์ž„. - ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์—ฐ๊ด€ ๋‹จ์–ด๋ฅผ ๋‹ด์„ temp_q๋ฅผ ๋งŒ๋“ค์–ด iter๋งˆ๋‹ค ์ดˆ๊ธฐํ™” ํ•ด์ค˜์•ผํ•œ๋‹ค. => ๋‚œ ๊ทธ ์ดˆ๊ธฐํ™” ์ž‘์—…์ด ์—†๋‹ค. ์ฃผ์˜ํ•  ์  1. ์–ด๋–ค ๋‹จ์–ด์™€ ํ•œ ๊ธ€์ž๋งŒ ์ฐจ์ด๋‚˜๋Š” ๋‹จ์–ด๊ฐ€ ๊ผญ ํ•˜๋‚˜๋ž€ ๋ฒ•์€ ์—†๋‹ค. -> ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋ถ„๋ช… ์กด์žฌํ•จ์„ ์ธ์ง€ 2. tmp_q (์ž„์‹œ queue)์˜ ํ•„์š”์„ฑ์„ ์ธ์ง€ํ•  ๊ฒƒ ์‹คํŒจํ•œ ํ’€์ด ๋งˆ์ง€๋ง‰ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์—์„œ ์‹คํŒจ..

    2021.04.25
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [lv2] ํƒ€๊ฒŸ๋„˜๋ฒ„ ํŒŒ์ด์ฌ

    ํฌ์ธํŠธ ๋ฆฌ์ŠคํŠธ ๋‚ด ์›์†Œ๋Š” ๋ชจ๋‘ ๊ฐ™๋‹ค. ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งž์ถ”๋Š” ๋ฐฉ๋ฒ•์ด ** ๋ช‡๊ฐ€์ง€** ์ธ์ง€๋งŒ ์•Œ๋ฉด ๋œ๋‹ค. ์ „ํ˜•์ ์ธ ์žฌ๊ท€ ๋ฌธ์ œ๋กœ, dfs๋ฅผ ์ด์šฉํ•˜์—ฌ ํ’€ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, itertools๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ product๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ pythonicํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ํ’€์ด 1) product, ๊ณฑ์ง‘ํ•ฉ from itertools import product def solution(numbers, target): temp = [(i, -i) for i in numbers] result = [1 for i in product(*temp) if sum(i) == target] return len(result) temp ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด temp = [(i, -i) for i in numbers] print(temp) >>>..

    2021.04.05
  • [201018] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ธฐ๋Šฅ๊ฐœ๋ฐœ

    ํ’€์ด rest ๋ฆฌ์ŠคํŠธ ๊ฐ€์žฅ ์•ž์˜ ์›์†Œ(๊ธฐ์ค€ ์›์†Œ)์™€ ๋’ค์˜ ์›์†Œ๋“ค์„ ๋น„๊ต ์ž์‹ ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€๊ฒŒ ๋‚˜์˜ฌ ๋•Œ ๊นŒ์ง€ ๊ณ„์† ๋น„๊ต (count += 1) ๊ธฐ์ค€ ์›์†Œ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€๊ฒŒ ๋‚˜์˜ค๋ฉด, rest ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ try ~ except ๊ตฌ๋ฌธ์œผ๋กœ, IndexError ํšŒํ”ผ progresses = [93,30,55] speeds = [1,30,5] import math def solution(progresses, speeds): rest = [math.ceil((100 - p)/s) for p,s in zip(progresses, speeds)] count, i = 1, 1 answer = [] while rest: try: if rest[0] >= rest[i]: count += 1 i += 1 else: res..

    2020.10.20
1 ยทยทยท 3 4 5 6
Github LinkedIn
ยฉ Huge Hoo

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”