๊ฐœ๋ฐœ ๊ณต๋ถ€ 145

[Java] Java ํ”Œ๋žซํผ์˜ ํŠน์ง•(Platform Independent) / WORA

WORA๋ž€? Write Once, Run Anyway ํ•œ ๋ฒˆ ์ž‘์„ฑํ•˜๋ฉด ์–ด๋– ํ•œ ํ™˜๊ฒฝ์—์„œ๋„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ Java ํ”Œ๋žซํผ์˜ ํŠน์ง• OS๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๊ฐ OS์— ๋”ฐ๋ผ API๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Œ ์ž๋ฐ”๋Š” WORA๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด, ๋‹จ์ผํ•œ ์ž๋ฐ” API๋ฅผ ์ œ๊ณตํ•จ ๋”ฐ๋ผ์„œ ์ž๋ฐ” ํ”Œ๋žซํผ๋งŒ ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฉด OS๊ฐ€ ๋‹ค๋ฅผ์ง€๋ผ๋„ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ž„(Platfrom Independent) ๋‹จ์ : 1) ์ž๋ฐ” ํ”Œ๋žซํผ์„ ๋ฐ˜๋“œ์‹œ ์„ค์น˜ํ•ด์•ผ ํ•จ 2) ์ž๋ฐ” API๊ฐ€ ํŠน์ • OS๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” API๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ

Language/Java 2021.04.25

[Java] Java ์–ธ์–ด์˜ ํŠน์ง•๊ณผ C/C++๊ณผ์˜ ์ฐจ์ด์ 

๋ชฉ์ฐจ Java์˜ ์—ญ์‚ฌ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์˜ ๊ณ„๋ณด C/C++๊ณผ Java ๋น„๊ต Java์˜ ์—ญ์‚ฌ Java๋ž€ ์ฌ ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ(Sun Microsystems, ํ˜„์žฌ ์˜ค๋ผํด์— ์ธ์ˆ˜๋จ)์˜ ์ œ์ž„์Šค ๊ณ ์Šฌ๋ง(James Gosling)๊ณผ ๋‹ค๋ฅธ ์—ฐ๊ตฌ์›๋“ค์ด ๊ฐœ๋ฐœํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ฒ˜์Œ์—๋Š” ๊ฐ€์ „ ์ œํ’ˆ(TV ๋“ฑ) ๋‚ด์— ํƒ‘์žฌํ•ด ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ์–ธ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋ ค ํ–ˆ์Œ C/C++์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ์— ๋ฌธ์ œ์ ์ด ๋งŽ๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด Java๋ฅผ ๊ฐœ๋ฐœํ•จ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์˜ ๊ณ„๋ณด C/C++๊ณผ Java์˜ ๋น„๊ต C/C++์˜ ๋ฌธ์ œ์  Java ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ์ œ๊ฑฐ delete ํ‚ค์›Œ๋“œ ์ œ๊ฑฐ => ๊ฐ์ฒด์˜ ์ œ๊ฑฐ๋ฅผ ์ž๋ฐ” ์‹คํ–‰ ํ™˜๊ฒฝ์—๊ฒŒ ๋งก๊ฒจ์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ค„์ž„ ์ฐธ์กฐ ๋ณ€์ˆ˜์™€ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜ ๊ฐ์ฒด์˜ ํฌ์ธํ„ฐ ์ œ๊ฑฐ ์ด์ฐจ ์ด์ƒ์˜ ํฌ์ธํ„ฐ ๋ฌธ์ œ ๋ชจ๋“  ํฌ์ธํ„ฐ ์ œ๊ฑฐ ๋ฐ..

Language/Java 2021.04.24

[Network] CIDR(์‚ฌ์ด๋”)์ด๋ž€? CIDR ๊ธฐ๋ณธ ๊ฐœ๋…

๋ชฉ์ฐจ CIDR์ด๋ž€? CIDR ์˜ˆ์‹œ CIDR๊ณผ Subnet Mask CIDR์ด๋ž€? Classless Inter-Domain Routing์˜ ์•ฝ์ž๋กœ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ cidr ๋˜๋Š” ์‚ฌ์ด๋”๋ผ๊ณ  ๋ถ€๋ฆ„ IP ์ฃผ์†Œ ๊ตฌ์„ฑ: network prefix(subnet id) + host id IP ์ฃผ์†Œ ํ‘œํ˜„: A.B.C.D/N (subnet mask ํ˜•์‹๊ณผ ๊ฐ™์Œ) - A, B, C, D: 8bit ์ด์ง„ ์ˆซ์ž - N: prefix(์ ‘๋‘์–ด) ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ์žฅ์  - Classless์ด๊ธฐ ๋•Œ๋ฌธ์— IPv4์— ์œ ์—ฐ์„ฑ์„ ๋”ํ•ด ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ - prefix๋ฅผ ์ด์šฉํ•œ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹์„ ๊ฐ€์ง€๋Š” ๊ณ„์ธต์  ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ธํ„ฐ๋„ท ๊ด‘์—ญ ๋ผ์šฐํŒ…์˜ ๋ถ€๋‹ด ๊ฐ์†Œ CIDR ์˜ˆ์‹œ 191.166.179.210/25๋ผ๋Š” ์ฃผ์†Œ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ sub..

CS 2021.04.24

[Network] IP์ฃผ์†Œ(IPv4)์™€ Class(ํด๋ž˜์Šค)

๋ชฉ์ฐจ IP์ฃผ์†Œ๋ž€? IPv4 (vs IPv6) IPv4์˜ Class Window์—์„œ IP์ฃผ์†Œ ํ™•์ธํ•˜๊ธฐ IP์ฃผ์†Œ๋ž€? ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์žฅ์น˜๋“ค์ด ์„œ๋กœ๋ฅผ ์ธ์‹ํ•˜๊ณ  ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํŠน์ˆ˜ํ•œ ๋ฒˆํ˜ธ (๋„คํŠธ์›Œํฌ ์ฃผ์†Œ + ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ)๋กœ ๊ตฌ์„ฑ IPv4 IP์ฃผ์†Œ๋ฅผ 32bit 2์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ์ฃผ์†Œ ์ฒด๊ณ„ ๋ณดํ†ต 32bit๋ฅผ 8bit์”ฉ ๋Š์–ด์„œ 10์ง„์ˆ˜๋กœ ํ‘œํ˜„ ์˜ˆ) ์ด์ง„์ˆ˜: 11000000.10101000.00000000.10101101 ์‹ญ์ง„์ˆ˜: 192.168.0.173 ์ด๋•Œ . ์œผ๋กœ ๊ตฌ๋ถ„๋˜๋Š” 8bit ๋‹จ์œ„๋ฅผ octet(์˜ฅํ…Ÿ)์ด๋ผ๊ณ  ํ•จ ์ฃผ์†Œ์˜ ๊ธธ์ด๊ฐ€ 32bit์ด๋ฏ€๋กœ ์ด๋ก ์ ์œผ๋กœ๋Š” 2^32(์•ฝ 42์–ต 9์ฒœ) ๊ฐœ์˜ IP ์ฃผ์†Œ๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ ์ผ๋ถ€ ๋ฒˆํ˜ธ๋Š” ํŠน๋ณ„ํ•œ ์šฉ๋„๋กœ ์˜ˆ์•ฝ๋˜์–ด ์žˆ์Œ ์˜ˆ) 127.0.0.1์€ localhost(์ž๊ธฐ ์ž์‹ ..

CS 2021.04.24

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / Python ํŒŒ์ด์ฌ] ๋‹คํŠธ ๊ฒŒ์ž„(2018 ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ)

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/17682 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ๋‹คํŠธ ๊ฒŒ์ž„ programmers.co.kr ๋ฌธ์ œ ์„ค๋ช…result, prev, curr์— ๊ฐ๊ฐ ๋ˆ„์  ์ ์ˆ˜, ๋ฐ”๋กœ ์ง์ „ ์ ์ˆ˜, ํ˜„์žฌ ์ ์ˆ˜๋ฅผ ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋Œ๋ฉด์„œ ๋‹ค์Œ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž๊ฐ€ ์ˆซ์ž(0~9)๋ผ๋ฉด 1) result์— prev๋ฅผ ๋”ํ•œ๋‹ค. (prev๋Š” ์ด์ œ ๋ณด๋„ˆ์Šค๋‚˜ ์˜ต์…˜์ด ์ ์šฉ ์•ˆ๋˜๋ฏ€๋กœ) 2) curr๊ฐ€ prev๊ฐ€ ๋œ๋‹ค. 3) ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ curr๊ฐ€ ๋œ๋‹ค. ๋ฌธ์ž๊ฐ€ ๋ณด๋„ˆ์Šค(S, D, T)๋ผ๋ฉด 1) D์ผ ๊ฒฝ์šฐ curr์„ ์ œ๊ณฑํ•œ๋‹ค. 2) T์ผ ๊ฒฝ์šฐ curr์„ ์„ธ์ œ๊ณฑ ํ•œ๋‹ค. ๋ฌธ์ž๊ฐ€ ์˜ต์…˜(*, #)์ด๋ผ๋ฉด 1) *์ผ ๊ฒฝ์šฐ prev์™€ curr์— 2๋ฅผ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / Python] ๋น„๋ฐ€์ง€๋„(2018 ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ)

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/17681์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ๋น„๋ฐ€์ง€๋„๋น„๋ฐ€์ง€๋„ ๋„ค์˜ค๋Š” ํ‰์†Œ ํ”„๋กœ๋„๊ฐ€ ๋น„์ƒ๊ธˆ์„ ์ˆจ๊ฒจ๋†“๋Š” ์žฅ์†Œ๋ฅผ ์•Œ๋ ค์ค„ ๋น„๋ฐ€์ง€๋„๋ฅผ ์†์— ๋„ฃ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ๋น„๋ฐ€์ง€๋„๋Š” ์ˆซ์ž๋กœ ์•”ํ˜ธํ™”๋˜์–ด ์žˆ์–ด ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•”ํ˜ธ๋ฅผ ํ•ด๋…ํ•ด์•ผ ํ•œ๋‹ค. ๋‹คprogrammers.co.kr ๋ฌธ์ œ ์„ค๋ช…๋‘ ์ง€๋„๋ฅผ ๊ฐ๊ฐ ์ด์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ๋‘ ์ง€๋„๋ฅผ ํ•ฉ์นœ๋‹ค.ํ•ฉ์นœ ์ง€๋„๋ฅผ ์ถœ๋ ฅ ํฌ๋งท์— ๋งž๊ฒŒ ๊ณต๋ฐฑ๊ณผ ๋ฒฝ์œผ๋กœ ์น˜ํ™˜ํ•œ๋‹ค. ์œ„์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ 1, 2๋ฒˆ ๊ณผ์ •์€ ๋‹ค์Œ ์ฝ”๋“œ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. answer.append(bin(arr1[i] | arr2[i])[2:].zfill(n))bin(arr1[i] | arr2[i])๋Š” ๊ฐ๊ฐ์˜ ์ง€๋„๋ฅผ ์ด์ง„์ˆ˜๋กœ ๋ณ€..

Docker ๊ธฐ๋ณธ ๋ช…๋ น์–ด, ์‚ฌ์šฉ๋ฒ•

Docker ๊ธฐ๋ณธ ๋ช…๋ น์–ด Contaniner ์‹œ์ž‘ํ•˜๊ธฐ(Run) docker run -it -d ${IMAGE_ID}# -it: ํ„ฐ๋ฏธ๋„ ์ž…๋ ฅ์„ ์œ„ํ•œ ์˜ต์…˜; -d: detached mode docker run --name ${CONTAINER_NAME} -it -d ${IMAGE_ID}# --name: ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„ ์„ค์ • ์˜ต์…˜ cocker ps# ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ํ™•์ธ docker ps -a# ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก ํ™•์ธ Container ๋ช…๋ น์–ด ์‹คํ–‰ํ•˜๊ธฐ(Exec) # ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์— ๋ช…๋ น ๋‚ด๋ฆฌ๊ธฐ docker exec -it [OPTIONS] ${CONTAINER_ID} ${COMMAND} [ARG...] docker exec -it ubuntu bash# ubuntu๋ผ๋Š” ์ด๋ฆ„์˜ ์ปจํ…Œ์ด๋„ˆ์— bash์‰˜๋กœ..

DevOps/Docker 2021.04.09

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / Python] ๋„๋‘‘์งˆ

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/42897 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋„๋‘‘์งˆ ๋„๋‘‘์ด ์–ด๋Š ๋งˆ์„์„ ํ„ธ ๊ณ„ํš์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งˆ์„์˜ ๋ชจ๋“  ์ง‘๋“ค์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋™๊ทธ๋ž—๊ฒŒ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ง‘๋“ค์€ ์„œ๋กœ ์ธ์ ‘ํ•œ ์ง‘๋“ค๊ณผ ๋ฐฉ๋ฒ”์žฅ์น˜๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ ‘ํ•œ programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… ๋„๋‘‘์ด ํ›”์น  ์ˆ˜ ์žˆ๋Š” ๋ˆ์˜ ์ตœ๋Œ“๊ฐ’์„ ์ €์žฅํ•˜๋Š” dp ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. dp[i]๋Š” 1๋ฒˆ๋ถ€ํ„ฐ i๋ฒˆ์งธ ์ง‘๊นŒ์ง€ ํ„ธ์—ˆ์„ ๋•Œ ํ›”์น  ์ˆ˜ ์žˆ๋Š” ๋ˆ์˜ ์ตœ๋Œ“๊ฐ’์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ด์ „ ์ง‘์„ ํ„ธ์—ˆ๋‹ค๋ฉด ํ˜„์žฌ ์ง‘์€ ํ„ธ์ง€ ๋ชปํ•˜๋ฏ€๋กœ dp[i]๋Š” (๋ฐ”๋กœ ์ „ ์ง‘๊นŒ์ง€ ํ›”์น  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’)์™€ (์ „์ „์ง‘๊นŒ์ง€์˜ ํ›”์น  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’ + ํ˜„์žฌ ์ง‘์˜ money) ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. dp[i]..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / Python] ๋“ฑ๊ตฃ๊ธธ

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/42898 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋“ฑ๊ตฃ๊ธธ ๊ณ„์†๋˜๋Š” ํญ์šฐ๋กœ ์ผ๋ถ€ ์ง€์—ญ์ด ๋ฌผ์— ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š์€ ์ง€์—ญ์„ ํ†ตํ•ด ํ•™๊ต๋ฅผ ๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ง‘์—์„œ ํ•™๊ต๊นŒ์ง€ ๊ฐ€๋Š” ๊ธธ์€ m x n ํฌ๊ธฐ์˜ ๊ฒฉ์ž๋ชจ์–‘์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ m = programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… ํ•ด๋‹น ์ขŒํ‘œ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” dp ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋™์€ ์˜ค๋ฅธ์ชฝ, ์•„๋ž˜๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ (x, y)์— ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ (x - 1, y)์—์„œ ์˜ค๊ฑฐ๋‚˜ (x, y - 1)์—์„œ ์˜ค๋Š” 2๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ์—์„œ๋Š” mxn ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์ด๋ผ๊ณ  ํ–ˆ์ง€๋งŒ ๋ฆฌ์ŠคํŠธ ์ธ๋ฑ์‹ฑ์˜ ํŽธ์˜์ƒ n์„ ํ–‰, m์„ ์—ด๋กœ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. (n + 1) X (m + ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / Python] ์ •์ˆ˜ ์‚ผ๊ฐํ˜•

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/43105 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ •์ˆ˜ ์‚ผ๊ฐํ˜• [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr ๋ฌธ์ œ ์„ค๋ช… ๊ฑฐ์ณ์˜จ ์ˆซ์ž๋“ค์˜ ํ•ฉ์˜ ์ตœ๋Œ“๊ฐ’์„ ์ €์žฅํ•˜๋Š” dp ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. triangle[i][j]์— ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. triangle[i - 1][j - 1]์—์„œ triangle[i][j]๋กœ ๊ฐ€๊ธฐ triangle[i - 1][j]์—์„œ triangle[i][j]๋กœ ๊ฐ€๊ธฐ dp[i][j]๋Š” ์œ„ ๋‘ ๊ฐ€์ง€ ๊ฐ’ ์ค‘์—์„œ ์ตœ๋Œ“๊ฐ’์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด triangle ๋ฐฐ์—ด์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด 7 3 8 8 1 0 2 7 4 ..