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

์ „์ฒด ๊ธ€77

[๋ฐฑ์ค€ / Java] 2665. ๋ฏธ๋กœ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ๋ฌธ์ œ ๋งํฌํ’€์ด์ด ๋ฌธ์ œ๋Š” (0, 0) ~ (N-1, N-1)๋กœ ๊ฐ€๋Š”๋ฐ ๊ฒ€์€ ๋ฐฉ์„ ํฐ ๋ฐฉ์œผ๋กœ ์ตœ์†Œํ•œ์œผ๋กœ ๋ฐ”๊พธ๋ฉด์„œ ๊ฐ”์„ ๋•Œ, ๋ฐฉ ์ƒ‰์„ ๋ฐ”๊พผ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.์ฆ‰, ๋ฐฉ์˜ ์ƒ‰์„ ๋ฐ”๊พธ๋Š” ํšŸ์ˆ˜๋ฅผ ๊ฐ€์ค‘์น˜๋กœ ์ƒ๊ฐํ–ˆ์„ ๋•Œ, ๊ฐ€์ค‘์น˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ๋ ๋ฐฉ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.๋งŒ์•ฝ ์ผ๋ฐ˜ bfs์ฒ˜๋Ÿผ ํ‘ผ๋‹ค๋ฉด (N-1, N-1)์— ๊ฐ€์žฅ ๋จผ์ € ๋„๋‹ฌํ–ˆ์„ ๋•Œ ๋ฐฉ์˜ ์ƒ‰์„ ๋ฐ”๊พผ ํšŸ์ˆ˜๊ฐ€ ์ตœ์†Œ๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์˜ˆ์‹œ: ์•„๋ž˜์˜ ๊ฒฝ์šฐ, ๋ฐฉ ์ƒ‰์„ ์ „ํ˜€ ๋ฐ”๊พธ์ง€ ์•Š๊ณ ๋„ ๋ ๋ฐฉ์— ๊ฐˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฐฉ๋ฌธํ•˜๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ฐฉ ์ƒ‰์„ ๋ฐ”๊พธ๋Š” ๋ฃจํŠธ๋กœ ๊ฐ€์žฅ ๋จผ์ € N-1, N-1์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Œ๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ์—์„œ๋Š” ํฐ ๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€์ค‘์น˜๊ฐ€ 0, ๊ฒ€์€ ๋ฐฉ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€์ค‘์น˜๊ฐ€ 1์ด๊ณ  ํ์— ๊ทธ ์นธ์˜ ์ •๋ณด๋ฅผ ๋„ฃ์—ˆ์„ ๋•Œ ๊ฐ€์ค‘์น˜๊ฐ€ ๋” ์ž‘์€.. 2024. 6. 11.
Beyond SW 7๊ธฐ 4์ฃผ์ฐจ ํšŒ๊ณ ๋ก ๐Ÿ€ ์ข‹์•˜๋˜ ์ DB ํŒ€ํ”Œ ๋์ด๋ฒˆ ์ฃผ ์›”์š”์ผ์€ DB ํŒ€ํ”Œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ฐœํ‘œํ•˜๋Š” ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค.๋‹ค๋ฅธ ํŒ€์˜ DB ์„ค๊ณ„๋ฅผ ์‚ดํŽด๋ณด๋ฉด์„œ "์ด๋Ÿฐ ์„ค๊ณ„๊ฐ€ ๋” ์ข‹๋„ค? ์•ž์œผ๋กœ๋Š” ์ด๋ ‡๊ฒŒ ํ•ด์•ผ์ง€"๋ผ๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ๊ณ , ๋ฐœํ‘œ๋ฅผ ๋“ค์œผ๋ฉด์„œ ์ง„์งœ ๋ฐœํ‘œ๋ฅผ ์ž˜ํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ๋งŽ๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.๊ฐœ์ธ์ ์œผ๋กœ ๋Š๋‚€ ๊ฒƒ์€ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๋‹ค ๋‚˜์—ดํ•ด์„œ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ๋ณด๋‹ค, ํ™•์‹คํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์€ ํฌ์ธํŠธ๋ฅผ ์ •ํ•ด์„œ ๊ทธ ๊ธฐ๋Šฅ์„ ์ค‘์ ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒŒ ๋ฐœํ‘œ๋ฅผ ๋“ฃ๋Š” ์‚ฌ๋žŒ ์ž…์žฅ์—์„œ ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ํฅ๋ฏธ๊ฐ€ ์ƒ๊ฒผ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.๋‹ค์Œ์— ํ˜น์‹œ ๋ฐœํ‘œ๋ฅผ ํ•˜๊ฒŒ ๋˜๊ฑฐ๋‚˜ ๊ฐ™์€ ํŒ€์›๋ถ„์˜ ๋ฐœํ‘œ๋ฅผ ํ”ผ๋“œ๋ฐฑ ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ „ํ˜€ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์„ค๋ช…ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊ผญ ๊ธฐ์–ตํ•˜๋ฉด์„œ ๋ฐœํ‘œ๋ฅผ ์ค€๋น„ํ•˜๊ฑฐ๋‚˜ ํ”ผ๋“œ๋ฐฑ ํ•ด์ค˜์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.์‹œํ—˜์„ ์ž˜ ๋ด„์–ด์ฉŒ๋‹ค ์‹œํ—˜์„ ์ž˜๋ด์„œ ์ƒํ’ˆ.. 2024. 6. 9.
[JPA ๊ฐœ๋…] ์—ฐ๊ด€ ๊ด€๊ณ„ ๋งคํ•‘ ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ด€ ๊ด€๊ณ„ ๋งคํ•‘MEMBER๋ผ๋Š” ํ…Œ์ด๋ธ”๊ณผ TEAM์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์ด ์žˆ๋‹ค๊ณ  ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.ํ•œ ๋ฉค๋ฒ„๋Š” ํ•œ ํŒ€์— ์†ํ•  ์ˆ˜ ์žˆ๊ณ , ํ•œ ํŒ€์—๋Š” ์—ฌ๋Ÿฌ๋ช…์˜ ๋ฉค๋ฒ„๊ฐ€ ์†ํ•ด์žˆ์Šต๋‹ˆ๋‹ค.๋”ฐ๋ผ์„œ MEMBER์™€ TEAM์€ N:1 ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค.Member.javaimport jakarta.persistence.Column;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.Id;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entitypublic class Member { @Id @GeneratedValue @Column(name = "MEMB.. 2024. 6. 6.
[JPA ๊ฐœ๋…] JPA์˜ ๊ธฐ๋ณธ ์–ด๋…ธํ…Œ์ด์…˜ ์•Œ์•„๋ณด๊ธฐ @Entity@Entity๊ฐ€ ๋ถ„์€ ํด๋ž˜์Šค๋Š” JPA๊ฐ€ ๊ด€๋ฆฌ, ์—”ํ‹ฐํ‹ฐ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.JPA๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ…Œ์ด๋ธ”๊ณผ ๋งคํ•‘ํ•  ํด๋ž˜์Šค๋Š” @Entity ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.์ฃผ์˜ํ•  ์ !์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค์—๋Š” ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. (ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†๋Š” public ๋˜๋Š” protected ์ƒ์„ฑ์ž)final ํด๋ž˜์Šค, enum, interface, inner ํด๋ž˜์Šค์—๋Š” @Entity ์–ด๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.์ €์žฅํ•  ํ•„๋“œ์— final ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.@Table@Table ์–ด๋…ธํ…Œ์ด์…˜์€ ์—”ํ‹ฐํ‹ฐ์™€ ๋งคํ•‘ํ•  ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅhibernate.hbm2ddl.auto์†์„ฑcreate: ๊ธฐ์กด ํ…Œ์ด๋ธ”์„ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. (DROP + CREATE)create-drop: create์™€ ๊ฐ™์œผ๋‚˜ ์ข…๋ฃŒ ์‹œ.. 2024. 6. 6.
[ ๋ฐฑ์ค€ / Java ] 2573. ๋น™์‚ฐ ๋ฌธ์ œํ’€์ด๋น™ํ•˜๊ฐ€ ๋ชจ๋‘ ๋…น๊ฑฐ๋‚˜, ๋น™ํ•˜๊ฐ€ ๋…น์•„์„œ ๋‘ ๋ถ€๋ถ„ ์ด์ƒ์ด ๋ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋น™ํ•˜ ๋…น์ด๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๊ณ , ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ break๋กœ ๋น ์ ธ๋‚˜์˜ต๋‹ˆ๋‹ค. for(int t = 1; ; t++) { // ์‹œ๊ฐ„์„ ๊ณ„์† ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ ... }๋ชจ๋“  ์นธ์„ ๋Œ๋ฉด์„œ ์ฃผ๋ณ€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์ค๋‹ˆ๋‹ค. (์ฃผ๋ณ€ 0๊ฐœ์ˆ˜๋ฅผ removeCnt์— ์ €์žฅ)removeCnt์˜ ๊ฐ’์„ ๊ฐ ์นธ์—์„œ ๋นผ์ค๋‹ˆ๋‹ค. ์ด๋•Œ ๋งŒ์•ฝ map[i][j] - removeCnt[i][j]๊ฐ€ ์Œ์ˆ˜๊ฐ€ ๋œ๋‹ค๋ฉด, 0์œผ๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค.๋น™ํ•˜๊ฐ€ ๋ชจ๋‘ ๋…น์•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๋‹ค ๋…น์•˜๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ‘๋‹ˆ๋‹ค.๋น™ํ•˜๊ฐ€ ๋ช‡ ๋ถ€๋ถ„์œผ๋กœ ๊ฐˆ๋ผ์กŒ๋Š”์ง€ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์ค๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ dfs ๋กœ์ง์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.๋น™ํ•˜๊ฐ€ ๋ชจ๋‘ ๋…น๊ฑฐ๋‚˜, 2๋ถ€๋ถ„์ด์ƒ์œผ๋กœ ๋…น์„ ๋•Œ๊นŒ์ง€ ์œ„ ๋กœ์ง.. 2024. 6. 4.
Beyond SW 7๊ธฐ 3์ฃผ์ฐจ ํšŒ๊ณ ๋ก ๋ถ€์ œ: ์ด ๋ ˆํฌ๋Š” ์ด์ œ ์ œ๊ป๋‹ˆ๋‹ค. ๋ญ์•ผ ๋Œ๋ ค์ค˜์š” 3์ฃผ์ฐจ๊ฐ€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.. ์‹œ๊ฐ„์ด ๊ต‰์žฅํžˆ ๋น ๋ฅด๋„ค์š”. ์›๋ž˜ ๋ธ”๋กœ๊ทธ ์“ฐ๋Š” ๊ฑธ ์ข‹์•„ํ•ด์„œ ์ฃผ์ ˆ์ฃผ์ ˆ ๊ธธ๊ฒŒ ์ผ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์ฃผ๋ถ€ํ„ฐ๋Š” ํšŒ๊ณ ๋ก์„ ์ข€๋” ์ฝคํŒฉํŠธํ•˜๊ฒŒ ์จ๋ณด๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ€ ์ข‹์•˜๋˜ ์ ๊นƒ, ๊นƒํ—™์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด๋ฒˆ ์ฃผ ์ˆ˜์—…์—์„œ ๊ฐ€์žฅ ์ธ์ƒ ๊นŠ์—ˆ๊ณ  ๋งŽ์ด ๋ฐฐ์› ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๋ถ€๋ถ„์€ ๊นƒ, ๊นƒํ—™์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊นƒ, ๊นƒํ—™์„ ๊ฝค ์‚ฌ์šฉํ•  ์ค„ ์•ˆ๋‹ค๊ณ  ์ฐฉ๊ฐํ•˜๊ณ  ์‚ด์•˜๋Š”๋ฐ, ์ œ๊ฐ€ ์“ฐ๋˜ ๊ธฐ๋Šฅ๋“ค์€ ๊ทธ๋ƒฅ ์•ผ๋งค๋กœ ์•Œ๊ฒŒ ๋œ ๊ฒƒ๋“ค์ผ ๋ฟ์ด๊ณ , ๊นƒ์„ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•œ ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ  ๊นƒ์˜ ๊ธฐ๋Šฅ์˜ ์—„์ฒญ๋‚˜๊ฒŒ ์ผ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋‹˜๊ป˜์„œ ๊นƒ์„ ์“ธ ๋•Œ ์ถฉ๋Œ์ด ๋‚˜๋Š” ์ผ€์ด์Šค๋“ค์„ ์—„์ฒญ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•ด์„œ ๊ฐ€๋ฅด์ณ์ฃผ์…”์„œ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ๋งŒ ํ•ด๋„ ์ง€์‹์„ ๋‚ ๋จน.. 2024. 6. 2.