-
์ปจํธ๋กค๋ฌ ๋จ์ ํ ์คํธ ์๋ฌ ํด๊ฒฐํ๊ธฐ
์ปจํธ๋กค๋ฌ ๋จ์ ํ ์คํธ ์๋ฌ ํด๊ฒฐํ๊ธฐ ๋จ์ ํ ์คํธ๋ฅผ ์งํํ ์ปจํธ๋กค๋ฌ๋ ์๋์ ๊ฐ๋ค. @RequiredArgsConstructor @RestController public class ProductRestController { private final FakeStore fakeStore; @GetMapping("/products/{id}") public ResponseEntity<?> findById(@PathVariable int id) { Product product = fakeStore.getProductList().stream().filter(p ->... Read More
-
์คํ๋ง ํธ๋์ญ์
์คํ๋ง ํธ๋์ญ์ ํธ๋์ญ์ ์ถ์ํ ์๋น์ค ๊ณ์ธต์ ํน์ ๊ธฐ์ ์ ์ข ์๋์ง ์์์ผ ํ๋ค. ๋ฐ๋ผ์ JDBC ๊ธฐ์ ์ ์ฌ์ฉํ๋ค๊ฐ JPA ๊ธฐ์ ๋ก ๋ณ๊ฒฝํ๋๋ผ๋ ์๋น์ค ๊ณ์ธต์์ ์ฝ๋ ์์ ์ ์์ด์ผ ํ๋ค. ํ์ง๋ง ์ค์ ๋ก JDBC ๊ธฐ์ ์์ JPA ๊ธฐ์ ๋ก ๋ณ๊ฒฝ๋ ๋, ๋ง์ ์ฝ๋๊ฐ ์์ ๋๋ค. (SRP ์๋ฐฐ) ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์คํ๋ง์์๋ ํธ๋์ญ์ ์ ์ถ์ํํด์ ์ ๊ณตํ๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์คํ๋ง์ด ์ ๊ณตํ๋ ํธ๋์ญ์ ์ถ์ํ ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ๋๋ค. ์คํ๋ง ํธ๋์ญ์ ์ถ์ํ์ ํต์ฌ์ PlatformTransactionManager ์ธํฐํ์ด์ค์ด๋ค. package org.springframework.transact... Read More
-
๋ฐ์ดํฐ๋ฒ ์ด์ค(Database) ๊ธฐ๋ณธ ๊ฐ๋
๋ฐ์ดํฐ๋ฒ ์ด์ค๋? ๋ฐ์ดํฐ์ ์ค๋ณต์ ์์ ๊ณ , ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ์ฌ ์ ์ฅํจ์ผ๋ก์จ ์๋ฃ ๊ฒ์๊ณผ ๊ฐฑ์ ์ ํจ์จ์ ๋์ธ ๋ฐ์ดํฐ์ ์งํฉ์ฒด DBMS(DataBase Management System) ๋ฐ์ดํฐ๋ฅผ ํธ๋ฆฌํ๊ฒ ์ ์ฅํ๊ณ ๊ฐฑ์ , ๊ด๋ฆฌํ ์ ์๋๋ก ๊ธฐ๋ฅ์ ์ ๊ณตํด์ฃผ๋ ์ํํธ์จ์ด ํ์ผ์์คํ ์ ๋ฌธ์ ๋์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฅํ๊ธฐ ์ด๋ ค์ ๋์ผํ ๋ฐ์ดํฐ์ ๋ถ์ผ์น์ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ(๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅx) ์๋ฌ ๋ฐ์ ์ ๋ณต๊ตฌ๊ฐ ์ด๋ ค์ธ ์ ์์ ํ์ ๋ ๋ณด์ DBMS ์ฅ์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ, ๋ฌด๊ฒฐ์ฑ, ์์ ์ฑ ๋ณด์ฅ ๋ฐ์ดํฐ ๋์ ์ ๊ทผ, ํจ์จ์ ์ ๊ทผ ๋ฐ์ดํฐ ๊ด๋ฆฌ(๋ฐ์ดํฐ ์ผ๊ด์ฑ, ์ค๋ณต, ๋ณด์ ... Read More
-
์ฐ๋ ๋(Thread)
ํ๋ก์ธ์ค์ ๋ฌธ์ ์ ํ๋ก์ธ์ค ์์ฑ์ ์ค๋ฒํค๋๊ฐ ํผ ๋ฉ๋ชจ๋ฆฌ ํ ๋น โ fork() โ PCB โ Page mapping table โ โฆ Process context switching์ ์ค๋ฒํค๋๊ฐ ํผ ๊ธฐ์กด์ ์ฒ๋ฆฌํ๋ ๋ ์ง์คํฐ ์ ๋ณด๋ค ์ ์ฅ, ์ฒ๋ฆฌ ์์ญ ์ ์ฅ, ์๋ก์ด ์ปจํ ์คํธ๋ฅผ ๋ถ์ด์ค๊ณ .. ์๋ก ๋ฉ๋ชจ๋ฆฌ์์ ๋ ์ง์คํฐ ๊ฐ ๊ฐ์ ธ์ค๊ณ , ์ฒ๋ฆฌ ์์น ๊ฐ์ ธ์ค๊ณ .. ํ๋ก์ธ์ค ๊ฐ์ ํต์ ์ด ์ด๋ ค์ ํ๋ก์ธ์ค๋ค์ ์์ ํ ๋ ๋ฆฝ๋ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ง๊ณ ์์ ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๋ผ๋ฆฌ ๊ฐ์ ๋ถ๊ฐ ... Read More
-
ํ๋ก์ธ์ค(Process) 2
ํ๋ก์ธ์ค ์์ฑ ํ๋ก์ธ์ค๋ ์ธ์ ์์ฑ๋๋๊ฐ? ์์คํ ๋ถํ ๊ณผ์ ์์ ํ์ํ ํ๋ก์ธ์ค ์์ฑ ์ฌ์ฉ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์์คํ ํธ์ถ๋ก ์ ํ๋ก์ธ์ค ์์ฑ ์ค์ํ๊ฑด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์๋ค๊ณ ๋จ์ํ ํ๋ก์ธ์ค๊ฐ ์๋! PCB๊ฐ ์กด์ฌํด์ OS๊ฐ ์ ์ด ๊ฐ๋ฅํ ์ํ๊ฐ ๋์ด์ผ ํจ == CPU๋ฅผ ํ ๋น๋ฐ์ ์คํ ๊ฐ๋ฅ ํ๋ก์ธ์ค ์์ฑ ๊ณผ์ ์์ฑํ๋ ค๋ ์คํํ์ผ์ ๊ฒฝ๋ก๋ฅผ OS์๊ฒ ์ ๋ฌ OS๋ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก๊ทธ๋จ์ ์ ์ฌ Code ์์ญ์ ํ๋ก๊ทธ๋จ ์ฝ๋ ์ ์ฌ, Data ์์ญ์ ์ ์ญ / ์ ์ ๋ณ์๋ค์ ํ ๋น ์คํ๊ณผ ํ์ ์๋ฌด๊ฒ๋ ์์ผ๋ฏ... Read More
-
ํ๋ก์ธ์ค(Process) 1
ํ๋ก๊ทธ๋จ? ํ๋ก๊ทธ๋จ์ด๋? ์คํ๊ฐ๋ฅํ(executable) ํ์ผ ์คํํ์ผ, ์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค๋ฅผ ์ด๊ธฐ๊ตฌ๋ํ๋๋ฐ ์ฌ์ฉ๋๋ ํ์ผ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ ์ฅ๋์ด์๋ ์ ์ ์ธ ์ํ -> ์ด์์ฒด์ ๊ฐ ์คํ๊ฐ๋ฅํ ํ์ผ์ ์ฝ์ด๋ค์ฌ์ ํ๋ก๊ทธ๋จ์ ์คํ ํ๋ก์ธ์ค? ์คํํ์ผ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉ๋์ด ์คํ๋ ์ํ ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ฃผ๋ ํ๋ก๊ทธ๋จ์ด cpu์ ์ํด์ ์ฒ๋ฆฌ๋๋ ์ํ ์คํ์ ์ํด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ๋์ ์ธ ์ํ PCB(process control block)์ ์กด์ฌ๋ก์ ๋ช ์๋๋ ๊ฒ ํ๋ก์ธ์๊ฐ ํ ๋น๋๋ ๊ฐ์ฒด๋ก์, ๋์คํจ์น๊ฐ ๊ฐ๋ฅํ ๋จ์ ๋น๋๊ธฐ์ ํ์๋ฅผ ์ผ์ผํค๋ ์ฃผ์ฒด ... Read More
-
์์ ๋์งํ
์์ ๋์งํ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์์ ๋์งํ ํด์ค ๊ฝค ๊ณ ๋ฏผ์ ์ค๋ํ ๋ฌธ์ ์ธ๋ฐ, ๊ทธ๋ฌ๋ฉด์ ๋ฌธ์ ์ ๊ทผ ๋ฐฉ์์ ๋ํ ๊ณ ๋ฏผ์ ํ๊ฒ ๋์๋ค. ์ฒ์ ์ด ๋ฌธ์ ๋ฅผ ์ ๊ทผํ์ ๋, ๋ฌธ์ ์ ์ฌ๋ก๋ฅผ ์ผ๋ฐํํ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๋ค. ํ์ง๋ง ์ด๋ ๊ฒ ๋ฐ๋ก ์ ๊ทผํ๋ ๋ฐฉ์์ ๋ฌธ์ ์ ๊ตฌ์กฐ๋ฅผ ์ ๋๋ก ํ์ ํ์ง ๋ชปํ๊ณ ์ด์คํ๊ฒ ์ผ๋ฐํํ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๊ทธ๋์ ๋ฌธ์ ๋ฅผ ๊ทธ๋ ค๊ฐ๋ฉด์ ์๊ฐํํ๋ฉด์ ๋ฌธ์ ์ ๊ตฌ์กฐ๋ฅผ ํ์ ํด๋ณด๋ ค๊ณ ํ๋ค. ๊ทธ๋ฌ์ ๋ฌธ์ ์ ํต์ฌ์ ์ดํดํ๊ฒ ๋์๋ค. ์ด ๋ฌธ์ ์ ํต์ฌ์ ๋ ์๋ฅผ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด์ ํํํ๋ ๊ฒ์ด๋ค. ์ด ๊ณผ์ ์ ํตํด์ ์ค์ํ ์ ์ ์๊ฒ ๋์๋ค. ๋ฌธ์ ์ ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ ์ผ๋ฐํํด์ ์ฝ๋๋ก ํํํ๋ ๊ฒ... Read More
-
์ํฐํฐ ๋งคํ(~ing)
์ํฐํฐ ๋งคํ ๊ฐ์ฒด์ ํ ์ด๋ธ ๋งคํ @Entity Entity๊ฐ ๋ถ์ ํด๋์ค๋ JPA๊ฐ ๊ด๋ฆฌ, ์ํฐํฐ๋ผ๊ณ ํ๋ค. JPA๋ฅผ ์ฌ์ฉํด์ ํ ์ด๋ธ๊ณผ ๋งคํํ๋ ค๋ ํด๋์ค์๋ @Entity๋ฅผ ํ์๋ก ๋ถ์ฌ์ฃผ์ด์ผ ํ๋ค. ์ฃผ์์ฌํญ ๊ธฐ๋ณธ ์์ฑ์ ํ์(public์ด๋ protected ์์ฑ์) final ํด๋์ค, enum, interface ์ฌ์ฉ ๋ถ๊ฐ๋ฅ ์์ฑ name JPA์์ ์ฌ์ฉํ ์ํฐํฐ ์ด๋ฆ์ ์ง์ ํ๋ค. ๊ธฐ๋ณธ๊ฐ: ํด๋์ค ์ด๋ฆ์ ๊ทธ๋๋ก ์ฌ์ฉ ๊ฐ๊ธ์ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉ(๊ฐ์ ํด๋์ค ์ด๋ฆ์ด ์๋ค... Read More
-
๊ตฌ๋ช ๋ณดํธ
๊ตฌ๋ช ๋ณดํธ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๊ตฌ๋ช ๋ณดํธ ํด์ค ์ถ์ ์๋๊ฐ ํฌํฌ์ธํฐ์ธ๋ฏ ํด์ ํฌํฌ์ธํฐ๋ก ํด๊ฒฐํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฌํ๋ ๊ตฌ๋ช ๋ณดํธ์ ์ํฉ์ ํฌ์ปค์ค๋ฅผ ๋ง์ถ๋๊ฒ ํฌ์ธํธ๋ค. ๊ตฌ๋ช ๋ณดํธ๋ 1๋ช ํ๊ฑฐ๋ 2๋ช ํ๋ ๋๊ฐ์ง ์ผ์ด์ค๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ ๋ ฌ๋์ด ์๋ค๋ฉด ๋ชธ๋ฌด๊ฒ๊ฐ ๊ฐ์ฅ ์์ ์ฌ๋๊ณผ ๊ฐ์ฅ ํฐ ์ฌ๋์ ํฉ์ ๊ธฐ์ค์ผ๋ก ์๊ฐํ๋๊ฒ ํฉ๋ฆฌ์ ์ด๋ค. ์ฌ๊ธฐ์ ๋ ์ฌ๋์ ํฉ์ด limit๋ณด๋ค ํฌ๋ค๋ฉด, ๋ชธ๋ฌด๊ฒ๊ฐ ๊ฐ์ฅ ํฐ ์ฌ๋๋ถํฐ ํผ์ ๊ตฌ๋ช ๋ณดํธ๋ก ํ์ ๋ณด๋ด๋ฉด ๋๋ค. ๋ฐ๋ฉด์ ๋ ์ฌ๋์ ํฉ์ด limit๋ณด๋ค ์์ ์ํฉ์ด ๋ํ๋๋ค๋ฉด, ๊ทธ๋ ๋น๋ก์ 2๋ช ์ ๊ตฌ๋ช ๋ณดํธ์ ํ์์ ๋ณด๋ผ ์ ์๋ค. ... Read More
-
์ง์ง์ด ์ ๊ฑฐํ๊ธฐ
์ง์ง์ด ์ ๊ฑฐํ๊ธฐ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ ํด์ค ์ ํ์ ์ธ ์คํ ๋ฌธ์ ์ด๋ค. ์ฒ์์ ์ฌ๋ผ์ด์ฑ์ผ๋ก ํ๊ณ , replace๋ก ํ์๋๋ฐ ํจ์จ์ฑ ์ฒดํฌํด์ ์คํจํด์ ์คํ์ด๋ผ๋ ํํธ๋ฅผ ๋ฐ๊ณ ๋ฐ๋ก 1๋ถ์ปท ํ์๋ค. ์ด ๋ฌธ์ ๋ณด๋ค๋ ํฌ๋ ์ธ์ธํ๋ฝ๊ธฐ ๋ฌธ์ ๊ฐ ์คํ์ผ๋ก ์ ๊ทผํด์ผํ๋๊ฒ ๋ถ๋ช ํ๊ฒ ํํ๋์ด์ ๋ ์ข์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค. ํ์ด def solution(s): stack = [] for c in s: if stack and stack[-1] == c: stack.pop() continue stack.append(c) r... Read More
-
์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ
์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ ํด์ค ์ฒ์ ํ์์ ๋, ์์ํ๊ฒ ํ์๋๋ฐ ์๊ฐ๋ณด๋ค ์ ๋ต๋ฅ ์ด ๋ฎ์ ๋ฌธ์ ๋ผ์ ๋ค์ ์ฌ๊ณ ๋ฅผ ๋ณต๊ธฐํด๋ณด์๋ค. ๋ฌธ์ ๋ฅผ ์์ฝํ์๋ฉด ๋๋ค์๊ณผ ์ ๊ณ ํ์๊ฐ ๋์๋๋ ๋์ ๋๋ฆฌ์ ๋๋ค์๊ณผ ๋ฆฌ์คํธ๊ฐ ๋์๋๋ ๋์ ๋๋ฆฌ ๋๊ฐ๋ฅผ ์ฐ๊ฒฐ์์ผ์ ํ์๋ฅผ ๋ฐํํ๋ ๊ตฌ์กฐ๋ค. ๋๋ ์ฒ์๋ถํฐ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ฆฌ๋ฉด์ ์ ๊ทผํด์ ๋๋ฆ ์์ํ๊ฒ ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ํ์ ํ ์ ์์๋ ๊ฒ ๊ฐ๋ค. ๋ค๋ฅธ ํ์ด๋ฅผ ์ฐธ๊ณ ํ ํ ๋ฆฌํฉํ ๋ง์ ํด๋ณด์๋ค. ํ ์ ์ ๊ฐ ์ ๊ณ ํ ํ์๋ ์ค๋ณต์ผ๋ก ์ฒ๋ฆฌํด์ set์ ํ์ฉํ๋ ๊ฒ์ด ์ข๋ค. ์ซ์๋ง์ ๋ฐํํ๋ฉด ๋๊ธฐ ๋๋ฌธ์... Read More
-
๋์ถฉ ๋ง๋ ์ํ
๋์ถฉ ๋ง๋ ์ํ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๋์ถฉ ๋ง๋ ์ํ ํด์ค ์ฒ์์ ์ผ์ค for๋ฌธ์ผ๋ก ํ์๋๋ฐ, ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ์ฐธ๊ณ ํด์ dictionary๋ฅผ ํ์ฉํด์ ๋ค์ ํ์๋ค. ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ์ ๋๋ list์ ์๊ฐ๋ณต์ก๋๋ฅผ ์ค์ผ๋ dictionary๋ฅผ ์ฌ์ฉํ๋ฉด ์ข๋ค. if๋ฌธ์ ์๋ชป ์ฒ๋ฆฌํด์ ๊ณ์ ํ ์คํธ ์ผ์ด์ค์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. if๋ฌธ์ ์ฌ์ฉํ ๋, ์์ธ ์ผ์ด์ค๋ฅผ if๋ฌธ์ผ๋ก ์ฐ๊ณ ๋ฉ์ธ ๋ ผ๋ฆฌ๋ if๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ ํผํด์ผ ํ๋ค.(์๋ํ๋ฉด ๋ฉ์ธ ๋ ผ๋ฆฌ์ if๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ถ๋ฒ์ ์ธ ์ํฉ์ด ์๋๋ฐ else๋ฅผ ์ฌ์ฉํ๊ฒ ๋ ์ ์๋ค.) 1. ์๋ชป ํผ ํ์ด def solution(k... Read More
-
ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ
ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ ํด์ค ์์ธ๋ก ๋จ์ํ ๋ฌธ์ ์ธ๋ฐ, ํธ๋๋ฐ ๊ต์ฅํ ์ค๋๊ฑธ๋ ธ๋ค. ๊ทธ ์ด์ ๋ ๊ณ์ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ์กฐ๊ฑด๋ค์ ํ๋ํ๋ ๋ฐ์ ธ์ฃผ๋ ค๊ณ ํด์(๊ธฐ์กด์ ๊ด์ฑ๋๋ก ์ ๊ทผ) ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ ๋, ์นด์ดํธํด์ผ ํ๋ค๋ฉด ๊ทธ ์กฐ๊ฑด์ ๋ถํด, ์ผ๋ฐํํด์ ์ ๊ทผํ๊ธฐ๋ณด๋จ ๊ทธ ํน์ ์กฐ๊ฑด๋ง์ if๋ก ์ฒ๋ฆฌํด์ ์ ๊ทผํ๋๊ฒ ๊ฐ๋จํ๋ค. ํ์ด def solution(ingredient): stack = [] result = 0 for i in range(len(ingredient)): stack.append(ingredient[i]... Read More
-
์น์์ด 2
์น์์ด 2 - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์น์์ด 2 ํด์ค ์ด๋ ค์ด ๋ฌธ์ ๋ ์๋๋ฐ ํ์ง ๋ชปํ๋ค. ์ฌ๊ณ ๊ณผ์ ์์ ํผ๋๋ฐฑ์ ํด๋ณด๋๊น replace ํจ์ ์์ฒด์ ์ง์คํด์ replace ํจ์๋ง์ผ๋ก๋ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ด ์ ๋ณด์ฌ์ ๊ทธ๋ฌ๋ ๊ฒ ๊ฐ๋ค. ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ถ์ํ๊ณ ๊ทธ ์กฐ๊ฑด๋ค์ ์ด๋ป๊ฒ ์ฝ๋๋ก ๋ฐ๊ฟ๋ผ์ง ๊ณ ๋ฏผํ๋๊ฒ ๋ง๋ ์ ๊ทผ๋ฒ์ด๋ค. ํจ์๋ ์๋ฃ๊ตฌ์กฐ๋ ๊ทธ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋๊ตฌ์ผ๋ฟ ๋ชฉ์ ์ด ๋์ด์๋ ์๋๋ค. ํ์ด ์ดํ์ ๋ค์ ํ์ด ํ ์ถ๊ฐ Read More
-
์์ฃผํ์ง ๋ชปํ ์ ์
์์ฃผํ์ง ๋ชปํ ์ ์ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์์ฃผํ์ง ๋ชปํ ์ ์ ํด์ค ๋ฌธ์ ์์ฒด๋ ๊ฐ๋จํ์ง๋ง ํจ์จ์ฑ์ ๊ณ ๋ คํด์ผ ํ๋๊ฒ ํฌ์ธํธ์ธ ๋ฌธ์ ๋ค. ์ฒ์์ ๋์ ๋๋ฆฌ๋ฅผ ์ด์ฉํด์ผ ํ๋ค๋๊ฑด ์์์ฐจ๋ ธ์ง๋ง ๋จธ๋ฆฌ ์์ผ๋ก ๊ตฌ์ํ๋๋ผ Counter๋ฅผ ์ด์ฉํ ํ์ด๋ก ๋์ด๊ฐ๋๋ฐ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค. ๋ฌธ์ ์์ ์๊ตฌํ๋ ๊ฐ๋ ์ ๋ง์ธ๋๋งต์ผ๋ก ๊ทธ๋ฆฌ๋ฉด์ ์๊ฐํํ๋ฉด์, ์ ์ ํ์ง ์์ ๊ฐ๋ ์ ์๊ฑฐํ๋ฉฐ ์ ๊ทผํด์ผ ๋น ๋ฅด๊ฒ ํด๊ฒฐํ ์ ์๋ค. ํ์ด 1 import collections def solution(participant, completion): p_num = collections.Counter(participant) c_nu... Read More
-
์์์ฑ ์ปจํ ์คํธ(Persistence Context)
์์์ฑ ์ปจํ ์คํธ ์์์ฑ ์ปจํ ์คํธ๋? โ์ํฐํฐ๋ฅผ ์๊ตฌ ์ ์ฅํ๋ ํ๊ฒฝโ ์์์ฑ ์ปจํ ์คํธ๋ ๋์ ๋ณด์ด์ง ์๋ ๋ ผ๋ฆฌ์ ์ธ ๊ฐ๋ ์ํฐํฐ ๋งค๋์ ๋ฅผ ํตํด์ ์์์ฑ ์ปจํ ์คํธ์ ์ ๊ทผ(์์์ฑ ์ปจํ ์คํธ ์์ ์ํฐํฐ ๋งค๋์ ์กด์ฌ) ์ํฐํฐ์ ์๋ช ์ฃผ๊ธฐ ๋น์์์ฑ Member member = new Member(); member.setId("memeber1"); member.setUsername("ํ์1"); ๊ฐ์ฒด๋ฅผ ์์ฑ๋ง ํด์ ์์์ฑ ์ปจํ ์คํธ์๋ ๊ด๋ จ์ด ์๋ ์ํ ์ฆ ์์์ฑ ์ปจํ ์คํธ์ ์ ํ ๊ด๊ณ๊ฐ ์๋ ์๋ก์ด ์ํ ์์ Member member = new Member(); member.setId("me... Read More
-
์์ ๋ง๋ค๊ธฐ
์์ ๋ง๋ค๊ธฐ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์์ ๋ง๋ค๊ธฐ ํด์ค 3๊ฐ์ ์์ ๊ดํ ๋ฌธ์ ๋ฅผ ํ ๋, ์ผ์ค for๋ฌธ ๋์ combination์ด ๋ง์ด ์ฌ์ฉ๋๋ค. ์ด ๋ฌธ์ ํ๋ฉด์ for else๋ผ๋ ๋ฌธ๋ฒ์ ์ฒ์ ์๊ฒ ๋์๋๋ฐ, ๋๋ฆ ์ ์ฉํ๊ฑฐ ๊ฐ๋ค. for else ๋ฌธ for ๋ฌธ์ผ๋ก ํน์ ์กฐ๊ฑด์ ์ฒดํฌํ ํ for๋ฌธ์ด ์๋ฃ๋๋ฉด ํด๋น ์กฐ๊ฑด์ด ๋ง์กฑํ ๊ฒ์ด๋ค. ๋ฐ๋ฉด์ for๋ฌธ ๋์ค์ ํน์ ์กฐ๊ฑด ๋๋ฌธ์ break๋ก ๋น ์ ธ๋์จ๋ค๋ฉด ํด๋น ์กฐ๊ฑด์ ๋ง์กฑํ์ง ๋ชปํ ๊ฒ์ด๋ค. ์ด๋ฐ ์ํฉ์ผ๋, ์ฌ์ฉํ๋ฉด ์ข์๊ฒ for else๋ฌธ์ด๋ค. for i in range(N): if i % 2 == 0: break # if ์กฐ... Read More
-
๋น๋ฐ์ง๋
๋น๋ฐ์ง๋ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๋น๋ฐ์ง๋ ํด์ค ์ฒ์์ ํ์์ ๋๋ ์ด์ค for๋ฌธ์ด๋ if๋ฌธ์ผ๋ก ๋ฌธ์์ด์ ์ผ์ผํ ๋ถ๋ฆฌํ์๋ค. ๋ค๋ฅธ ์ข์ ํ์ด์์๋ ๋นํธ ์ฐ์ฐ์๋ฅผ ์ด์ฉํด์ ํด๊ฒฐํ๋ค. 2๊ฐ์ for๋ฌธ์ ์ฌ์ฉํ๋ ๋์ for in zip์ ์ฌ์ฉํ๋ฉด ๋ ๊น๋ํ๊ฒ ํ์ฉํ ์ ์๋ค. ๋นํธ ์ฐ์ฐ์, zfill, replace, zip ํจ์์ ๋ํด์ ๋ฐฐ์ธ ์ ์๋ ์ข์ ๋ฌธ์ ์ด๋ค. ํ์ด 1 def solution(n, arr1, arr2): result = [] for i in range(n): result.append(bin(arr1[i]|arr2[i])[2:] ... Read More
-
JPA ์๋ ์๋ฆฌ
JPA ์๋ ์๋ฆฌ JPA ๊ตฌ๋ ๋ฐฉ์ ๋จผ์ Persistence ํด๋์ค์์ META-INF๋ผ๋ ํด๋ ์๋์์ persistence.xml์ ์ค์ ์ ๋ณด๋ฅผ ์ฝ์ด๋ค์ธ๋ค. EntityManagerFactory์์ EntityManager๋ฅผ ์์ฑํ๋ค. EntityManager๋ฅผ ํตํด ํธ๋์ญ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ํธ๋์ ์ ์ ์์ํ๋ค. Member Entity ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ค๋ค Member์ ์ ๋ณด๋ฅผ ์ถ๊ฐํด์ค๋ค. EntityManager์ persist ๋ฉ์๋์ Member์ ๋ด๋๋ค. ํธ๋์ญ์ ๊ฐ์ฒด๋ฅผ ํตํด c... Read More
-
์์ฐ
์์ฐ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์์ฐ - Summer/Winter Coding(~2018) ํด์ค ์ข์ ๊ทธ๋ฆฌ๋ ๋ฌธ์ ์ด๋ค. ๋ ผ๋ฆฌ์ ์ผ๋ก ์ ์ด๋ ๊ฒ ๋๋์ง ์๊ฐํด๋ด๋๊ฒ ํฌ์ธํธ ํด๋น ์์ ์์ ๋๋ ๋, ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ๋ if๋ฌธ์ ์์ธ์ฒ๋ฆฌ๋ก ์ฌ์ฉํ๋๊ฒ ์ข๊ณ , ์ด๊ฑธ while๋ฌธ์ฒ๋ผ ๋ฉ์ธ์ผ๋ก ์ฌ์ฉํ๋ฉด ์นด์ดํธ ์ฒ๋ฆฌํ๋๊ฒ ๋ณต์กํด์ง๋ ๊ทธ๋ฐ๊ฑด ์ง์ํ์. ํ์ด def solution(d, budget): s, cnt = 0, 0 d.sort() for i in d: s += i if s > budget: return cnt cnt +... Read More
-
JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ
JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ ํด์ค ์ฒ์์ replace๋ก ํ์๋๋ฐ, replace์ ๊ฒฝ์ฐ ์ค๋ณต๋ ๋จ์ด๋ ์ ๋ถ ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ ์คํจ.. ์ด ๋ฌธ์ ์์ ๊ณต๋ฐฑ๋ฌธ์๊ฐ ์ฐ์์ผ๋ก ๋์ฌ ์ ์๋ค๊ณ ํ๋๋ฐ, split(โ โ)์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ๋ค. +=๋ก ์กฐ๊ฐ์กฐ๊ฐ ๋ํด์ค์ ํ์๋๋ฐ, joinํจ์๋ฅผ ์ด์ฉํ๋ฉด ๋ ๊น๋ํ๊ฒ ํ ์ ์๋ค. ํ์ด 1(์ฒ์ ํ์ด) def solution(s): result = "" s = s.split(" ") # ๊ณต๋ฐฑ์ด ์ฐ์๋ ๋, ์ด๋ ๊ฒ ์ฒ๋ฆฌํด์ค์ผํจ for i in s: i = i[:1].upp... Read More
-
์ต๋๊ฐ๊ณผ ์ต์๊ฐ
์ต๋๊ฐ๊ณผ ์ต์๊ฐ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ ํด์ค ์ฌ์ด ๋ฌธ์ ์ง๋ง ํ์ด์ฌ ๊ธฐ๋ณธ ํจ์๋ค์ ์ฐ์ตํ๊ธฐ์ ์ข์ ๋ฌธ์ split, map, max, min๋ฅผ ์ฐ์ตํด๋ณผ ์ ์๋ ์์ ๋ฌธ์ ํ์ด def solution(s): tmp = list(map(int, s.split())) return str(min(tmp)) + " " + str(max(tmp)) Read More
-
์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ
์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ ํด์ค โ์ ์ด์์ ์๋ค(No Silver Bullet)โ ๋ผ๋๋ defaultdict๋ฅผ ์ฌ์ฉํ๋ค๊ฐ ์์ธ์ฒ๋ฆฌ์ ๋นํฉํ๋ค. ๊ฒฐ๊ตญ ๋์ ๋๋ฆฌ์ ์ด๊ธฐ๊ฐ์ 0์ผ๋ก ์ ํด์ ์์ํด์ผํ๋ ๊ฒ์ ๊นจ๋ฌ์๋ค.. defauldict๋ ์ํฉ์ ๋ง๊ฒ ์ ์ฌ์ฉํด์ผ ํ ๊ฒ ๊ฐ๋ค. ๋ฌธ์ ์กฐ๊ฑด์ ๊ทธ๋๋ก ๊ฐ์ ธ๊ฐ๋ ๋์ +/- ๊ฐ์ค์น๋ก ํด์, ํ ์ค if/else๋ก ๊น๋ํ๊ณ ์ข์ ํ์ด์ธ ๊ฒ ๊ฐ๋ค. ํ์ด 1(์์ธ์ฒ๋ฆฌ์ ์คํจํ ์ฒ์ ํ์ด) def solution(self, survey, choices): dic = collections.defaultd... Read More
-
๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ
๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ - ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ ํด์ค ์ต๋จ๊ฑฐ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ DFS๋ณด๋ค BFS๊ฐ ์ ์ ํ๋ค(DFS๋ ๋๊น์ง ํ์ํด์ผ ํ์ง๋ง BFS๋ ํด๋น ์์ ์์ ์ข ๋ฃ๊ฐ ๊ฐ๋ฅํ๋ค) ๋ฐฉํฅ๋ฒกํฐ๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๋ฐ์๋, ๊ณ์ ๋ํด๊ฐ๋ ๋ฐ์๋ ์ฒ์์ด์ง๋ง ์ข์ ๊ฑฐ ๊ฐ๋ค. ๋ํ์ ํ ๋๋์ด๋ผ์ ์ฌ๋ฌ๋ฒ ํ์ด๋ณด๋ฉด์ ์ฒดํํด์ผ ํ ๊ฒ ๊ฐ๋ค. def solution(self, graph): col = len(graph) row = len(graph[0]) def bfs(a, b): # y์ขํ, x์ขํ queue = collections.deque() ... Read More
-
์ฟ ํค ๋ถ์ฌ
์ฟ ํค๋ถ์ฌ - leetcode 455๋ฒ ๋ฌธ์ 455. Assign Cookies ํด์ค for๋ฌธ์ 2๋ฒ ์จ์ผ ํ ๋ + ์ ๋ ฌํด์ ํ ์ ์์๋ -> ํฌํฌ์ธํฐ ํ์ด ํฌํฌ์ธํฐ ํ์ด Tip ๋ฌธ์ ์กฐ๊ฑด ์ฃผ์ด์ง ์กฐ๊ฑด ๊ธฐ์ค์ผ๋ก ๋ง์กฑํ์ง ๋ชปํ๋ฉด ๋ค๋ฅธ ํฌ์ธํฐ ์ธ๋ฑ์ค์ +1 if๋ฌธ / while๋ฌธ์ ์ ์ ํ ํ์ฉ ํ์ด class Solution: def findContentChildren(self, g: List[int], s: List[int]) -> int: g.sort() s.sort() ... Read More
-
๊ดํธ๋ฅผ ์ฝ์ ํ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ
๊ดํธ๋ฅผ ์ฝ์ ํ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ - leetcode 241๋ฒ ๋ฌธ์ 241. Different Ways to Add Parentheses ํ์ด class Solution: def solution(self, input): # 2*3-4*5 def compute(left, right, op): result = [] for l in left: # ๋ฐฑํธ๋ํน ๋ผ์ extend๋ก ํฉ์ณ์ง ๊ฒฐ๊ณผ๋ค์์ for๋ฌธ์ผ๋ก ๊ฐ๊ฐ์ ๊ณ์ฐ๋ค์ ์๋ฃํ๊ธฐ ์ํด์ for r in right: # for๋ฌธ์ ์ฌ์ฉ re... Read More
-
๊ณผ๋ฐ์ ์๋ฆฌ๋จผํธ
๊ณผ๋ฐ์ ์๋ฆฌ๋จผํธ - leetcode 169๋ฒ ๋ฌธ์ 169. Majority Element ํด์ค ๊ฐ์ฅ ์์ ๋จ์(0 or 1)๋ก ๋๋์์๋, ํฉ์น๋ฉด์ ํด๊ฒฐํ ์ ์์๋ -> ๋ถํ ์ ๋ณต ์ฌ๊ทํจ์๋ก ๊ฐ์ฅ ์์ ๋จ์๊น์ง ๋๋์ด์ค๋ค.(๋๋ถ๋ถ ์ ๋ฐ์ผ๋ก ๋๋ ์ ๋ค์ ํธ์ถ) ๊ฐ์ฅ ์์ ๋จ์๋ค์ ๋ํ ์ฒ๋ฆฌ (์ ์ผ ์์์ if๋ฌธ ์ฒ๋ฆฌ) return์์ ๋ณํฉ์ฒ๋ฆฌ(์ฌ๊ธฐ์๋ Ture or False๊ฐ 0/1์ธ์ ์ ์ด์ฉํด์ ์ธ๋ฑ์ค ์ฒ๋ฆฌ) ํ์ด class Solution: def solution(self, nums): if not nums: ... Read More
-
์ฃผ์ ์
์ฃผ์ ์ - leetcode 81๋ฒ ๋ฌธ์ 134. Gas Station ํด์ค ๋ฌธ์ ์์ ์กฐ๊ฑด์ ๋น ๋จ๋ฆฌ๊ณ ์ ๋๋ก ์ ๋ํด๋ด์ง ๋ชปํด์ ๊ฝค ํค๋งธ์ ์กฐ๊ฑด์์ ๋ต์ด ๋ช ํํ ์ ํด์ง์ง ์๊ณ ์ฌ๋ฌ๊ฐ๋ก ๋์จ๋ค๋ฉด ๋ฐ๋๋ก ๋ถ์ ํด์ if ์กฐ๊ฑด์ ์ธ์์ฃผ๋ฉด ์์ธ๋ก ์ฝ๊ฒ ํด๊ฒฐ๋ ์ ๋ ์์ ํ์ด class Solution: def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int: if sum(gas) < sum(cost): return -1 tank = 0 result = 0 ... Read More
-
๋ถ๋ถ ๋ฌธ์์ด์ด ํฌํจ๋ ์ต์ ์๋์ฐ
๋ถ๋ถ ๋ฌธ์์ด์ด ํฌํจ๋ ์ต์ ์๋์ฐ - leetcode 76๋ฒ ๋ฌธ์ 76. Minimum Window Substring ํด์ค ๋ฌธ์์ด ๊ธฐ์ค์ผ๋ก ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ ๋๋ง๋ค ๋ฌธ์์ด ์ถ์ถ ํน์ ๊ธธ์ด์ด๋ฏ๋ก ํฌ ํฌ์ธํฐ ์์ด๋์ด ๋ ์ฌ๋ฆฌ๊ธฐ ๋ฌธ์๊ฐ์๋ฅผ count ํด์ผํ๋ฏ๋ก Counterํจ์ ์ฌ์ฉํ๋๊ฒ์ด ํธ๋ฆฌํจ + ์กฐ๊ฑด์ ๋ฌธ์์ด์ ๊ธธ์ด == 0 ์ฌ๊ธฐ์ defaultdic๋ฅผ ์ด์ฉํ๋ฉด ์กฐ๊ฑด์ ์๋ ๋ฌธ์๋ 1 ์ด์์ด๊ณ ์กฐ๊ฑด์ ์๋ ๋ฌธ์๋ 0 ์ดํ์ด๋ฏ๋ก ์ด ์กฐ๊ฑด์ ์ด์ฉํด์ ์นด์ดํธ ์นด์ดํธ ํ Counter์์ -1 ํด์ ์ฐจ๊ฐํ๊ธฐ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ์๋, ํฌํฌ์ธํฐ ์ฌ์ด... Read More
-
๊ฐ์ฅ ๊ธด ๋ฐ๋ณต ๋ฌธ์ ๋์ฒด
๊ฐ์ฅ ๊ธด ๋ฐ๋ณต ๋ฌธ์ ๋์ฒด - leetcode 424๋ฒ ๋ฌธ์ 424. Longest Repeating Character Replacement ํด์ค ์ฒ์์ ์๋์ฐ, ํฌ ํฌ์ธํธ ์ฌ์ด์ฆ๊ฐ ์์์ ์๋์ฐ - max_char <= k์ผ๋๋ ์๋์ฐ ๋ด์์ ์ฐ์๋ฌธ์์ ์ต๋๊ฐ์ด ๋ณด์ฅ๋จ ํ์ง๋ง ์๋์ฐ์ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด์ ์๋์ฐ - max_char > k๊ฐ ๋๋ฉด ๋ฐ๊ฟ์ผ ํ๋ ๋ฌธ์๊ฐ ๋ง์์ ธ์ ์ฐ์๋ฌธ์์ ์ต๋๊ฐ์ด ๋ณด์ฅ๋์ง ์์ ๋ฐ๋ผ์ right๋ฅผ 1 ๋๋ ธ์๋, ์๋์ฐ - max_char > k๊ฐ ๋ฐ์ํ๋ฉด left๋ฅผ ์ค์ฌ์ฃผ์ด์ผ ํจ max()ํจ์๋ก ์ต๋๊ฐ์ ๋น๊ตํด์ฃผ์ด์ผ ํ ๊ฒ ๊ฐ์ง๋ง right -left๋ง... Read More
-
ํ์ ์ ๋ ฌ๋ ๋ฐฐ์ด ๊ฒ์
ํ์ ์ ๋ ฌ๋ ๋ฐฐ์ด ๊ฒ์ - leetcode 33๋ฒ ๋ฌธ์ 33. Search in Rotated Sorted Array ํด์ค class Solution: def solution(self, nums: list[int], target: int): left, right = 0, len(nums) - 1 while left < right: mid = left + (right - left) // 2 # 1-1. ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ์ผ๋ ค๊ณ ํ๋๋ฐ, if nums[mid] > nums[right]: ... Read More
-
๊ฐ์ฅ ํฐ ์
๊ฐ์ฅ ํฐ ์ - leetcode 179๋ฒ ๋ฌธ์ 179. Largest Number ํ์ด class Solution: @staticmethod def swap(n1: int, n2: int) -> bool: return str(n1) + str(n2) < str(n2) + str(n1) def solution(self, nums): i = 1 while i < len(nums): j = i while j > 0 and self.swap(nums[j - 1], nums[j]): ... Read More
-
๋ฆฌ์คํธ ์ ๋ ฌ
๋ฆฌ์คํธ ์ ๋ ฌ - leetcode 148๋ฒ ๋ฌธ์ 148. Sort List ํ์ด(๋ถํ ์ ๋ณต) class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def mergeTwoLists(self, l1, l2): if l1 and l2: if l1.val > l2.val: l1, l2 = l2, l1 l1.next = self.mergeTwoLists(l1.next, ... Read More
-
์ฝ์ ์ ๋ ฌ ๋ฆฌ์คํธ
์ฝ์ ์ ๋ ฌ ๋ฆฌ์คํธ - leetcode 147๋ฒ ๋ฌธ์ 147. Insertion Sort List ํด์ค class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def solution(self, head): cur = parent = ListNode() # 1. parent๋ root๋ก ์ฌ์ฉํ๊ณ cur๋ฅผ ์ด์ฉํด์ ์กฐ์ ์์ while head: while cur.next and ... Read More
-
์ ์, ์ค์ ์ํ ๊ฒฐ๊ณผ๋ก ์ด์ง ํธ๋ฆฌ ๊ตฌ์ถ
์ ์, ์ค์ ์ํ ๊ฒฐ๊ณผ๋ก ์ด์ง ํธ๋ฆฌ ๊ตฌ์ถ - leetcode 105๋ฒ 105. Construct Binary Tree from Preorder and Inorder Traversal ํด์ค ๋ถํ ์ ๋ณต์ด ๋ฐ์์ ์์ ์ ์ ์ํ์ ์ค์ ์ํ์์ root์์ left / root / right๋ก ๋๋ ์ ์ฌ๊ท์ ์ผ๋ก ๋ถํ ์ ๋ณตํด์ ํด๊ฒฐํ๋ ๊ฒ์ด ํต์ฌ popํ๋ ์์ ์ด ์ด๋๋์ ๋ฐ๋ผ์ ์ /์ค/ํ์ ์ํ๊ฐ ๊ฒฐ์ ๋จ(๋ฐฉ๋ฌธ๊ธฐ๋ก ์์ฑํ๋๊ฒ๊ณผ ๋น์ท) dfs()๋ฅผ ๋ฐ๋ก ์ ์ํ์ง ์๊ณ ๊ทธ ํจ์ ๊ทธ๋๋ก ์ฌ๊ท์ ์ผ๋ก ์ ๊ทผํ ๋, deque์๋ค๊ฐ list๋ฅผ ๋ฃ๋ ๋ฐฉ์์ pop์ด ์ํฅ์ ๋ฏธ์น์ง ์์์ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ถ๋์ง ์์ ์ ์์... Read More
-
์ต์ ๋์ด ํธ๋ฆฌ
์ต์ ๋์ด ํธ๋ฆฌ - leetcode 49๋ฒ ๋ฌธ์ 110. Balanced Binary Tree ๋ฌด๋ฐฉํฅ์ด๋ผ์ ๋ชจ๋ ๋ ธ๋๋ค์ด ๋๋ฑํจ ๋ฐ๋ผ์ dictionary๋ก ๋ชจ๋ ๋ ธ๋๋ค์์ ์ ๊ทผ ๊ฐ๋ฅํ ๋ ธ๋ ๋ฆฌ์คํธ ๋ง๋ค์ด์ฃผ๊ธฐ leaf ๋ ธ๋๋ค์ ๊ณ์ ์ ๊ฑฐํ๋ฉด ์ต์ข ๋ฃจํธ ๋ ธ๋๋ฅผ ๊ตฌํ ์ ์์ ์ฝ๋ ์ง๋ค๊ฐ ๋ณ์๊ฐ ๋ง์์ ํท๊ฐ๋ ธ๋๋ฐ, ๋ณ์๋ช ์ ์ค์์ฑ์ ๋ํด์ ๊นจ๋ซ๊ฒ ๋จ.. class Solution: def solution(self, n: int, edge: List[List[int]]) -> List[int]: graph = collections.defau... Read More
-
์ ํ ๋ฒํธ ๋ฌธ์ ์กฐํฉ
์ ํ ๋ฒํธ ๋ฌธ์ ์กฐํฉ - leetcode 12๋ฒ ๋ฌธ์ 17. Letter Combinations of a Phone Number ์ ๋ ฅ: โ23โ ์ถ๋ ฅ: [โadโ, โaeโ, โafโ, โbdโ, โbeโ, โbfโ, โcdโ, โceโ, โcfโ] ํด์ค dfs(์์๋ ธ๋, str)๋ก ์์ dfs ์ ์๋ for๋ฌธ์ผ๋ก ์ฌ๊ท์ ์ผ๋ก ๋ค์ ๋ ธ๋๋ฅผ ํ์ํ ์ ์๋๋ก ํธ์ถ + ๋ฌธ์์ด ๋์ (๋ ธ๋ ๋ฐฉ๋ฌธ) index๊ฐ ์ปค์ง๋๊ฑด ๋ฐฉ๋ฌธํ ๋ ธ๋๋ฅผ ๊ธฐ๋กํ๋ ์ญํ , len(digits)๋ ๋ฐฉ๋ฌธํ ๋ ธ๋์ ์ด ๊ฐ์ ๋ฌธ์์ด์ ๊ธธ์ด๋ก dfs ์ข ๋ฃ ํ result์ ์ต์ข ๊ฒฐ๊ณผ ์ถ๊ฐ ํ์ด cla... Read More
-
์์ ์ ์ ์ธํ ๋ฐฐ์ด์ ๊ณฑ
์์ ์ ์ ์ธํ ๋ฐฐ์ด์ ๊ณฑ - leetcode 238๋ฒ ๋ฌธ์ 238. Product of Array Except Self ์ ๋ ฅ: [1, 2, 3, 4] ์ถ๋ ฅ: [24, 12, 8, 6] ํด์ค ๋๋์ ์ ์ฌ์ฉํ์ง ์๊ณ O(n)์ ํ์ดํ๋๊ฒ์ด ํฌ์ธํธ๋ค ๋๋์ ๋์ ๊ณฑ์ ๋ง์ ์ฌ์ฉํด์ผ ํ๋ค. ์ด๋ O(n)์์ ํ์ดํ๊ธฐ ์ํด์๋ for๋ฌธ์ ๋ด๋ถ์ ์ฐ๋ ๋์ ->, <- ์ด๋ ๊ฒ ์ธ๋ถ์ 2๋ฒ ์จ์ผ ํ๋ค. ์์ธํ ๋ณด๋ฉด ์ด์ ์ธ๋ฑ์ค์ ๊ฐ๋ค์ ๋์ ํด์ ์ฌ์ฉํ๋ ๊ณผ์ ์ด ๋ค์ด๊ฐ๋ค. ๋์ ์ result *= nums[i]๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ... Read More
-
์ค๋ณต ๋ฌธ์ ์ ๊ฑฐ
์ค๋ณต ๋ฌธ์ ์ ๊ฑฐ - leetcode 316๋ฒ ๋ฌธ์ 316. Remove Duplicate Letters ์ ๋ ฅ: โbcabcโ ์ถ๋ ฅ: โabcโ ํด์ค (๋ฐ๋ณต) ์์์๋ถํฐ ์ค๋ณต๋ ๋ฌธ์๋ ์ ๊ฑฐํ๋ฉด์ ์ฌ์ ์ ์์๋ก ์์๊ฐ ์ค๋ณต๋ ๋ฌธ์ ์ ๊ฑฐ๋ฅผ ์ ๋ค๋ก ๋น๊ตํ๊ธฐ ์ํด์๋ Counterํจ์ ์ฌ์ฉํ๋๊ฒ ์ข์ ๋ฌธ์์ด์ ์์๊ฐ๋ฉด์ ์ค๋ณต์ ์ ๊ฑฐํ ๋ ์คํ ์ฌ์ฉํ๋๊ฒ๋ ๊ด์ฐฎ์(์ฌ์ค ๋ฆฌ์คํธ..) for๋ฌธ์ผ๋ก ๋ฌธ์์ด์ ํ์ํ๊ธฐ ์์ ์ผ๋จ ์คํ์๋ค๊ฐ ์์ผ๋ฉด์ ๋น๊ต ๋์์ ๋จ์ด์ ์คํ์ ์์ธ ๋จ์ด๊ฐ ์ฌ์ ์ / ์ค๋ณต์ธ์ง ๋น๊ต ์ค๋ณต์ด๊ฑฐ๋ ์ฌ์ ์์ผ๋ก ์์ธ๊ฒ ์๋๋ฉด ... Read More
-
ํ์ด์ ๋ ธ๋ ์ค์
ํ์ด์ ๋ ธ๋ ์ค์ - leetcode 24๋ฒ ๋ฌธ์ 24. Swap Nodes in Pairs ์ ๋ ฅ: 1->2->3->4 ์ถ๋ ฅ: 2->1->4->3 ํด์ค 1 (๋ฐ๋ณต) ๋ ๊ฐ ๋จ์๋ก ์ค์์ด ์ด๋ฃจ์ด์ง๋ฏ๋ก ํฌ์ธํฐ ๋ ๊ฐ๋ฅผ ์ฌ์ฉํ๋ค. prev, head prev.next = head ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๋จ์ํ๊ฒ ๊ฐ๋ง ๋ฐ๊พธ๋๊ฒ๊ณผ๋ ๋ฌ๋ฆฌ ๋ ธ๋์ ์ฐ๊ฒฐ๊ด๊ณ๊น์ง ๊ณ ๋ คํด์ ๋ฐ๊ฟ์ฃผ์ด์ผ ํ๋ค. ex) ๋ง์ฝ 3->2 ์ฐ๊ฒฐ๊ด๊ณ๋ฅผ ๋ฐ๊พธ๋ ค๊ณ ํ๋ค๋ฉด 1->3, 2->4์ ์ฐ๊ฒฐ๊ด๊ณ๋ ๋ฐ๊ฟ์ฃผ์ด์ผ ํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก 1->3->... Read More
-
์ญ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ 2
์ญ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ 2 - leetcode 92๋ฒ ๋ฌธ์ 92. Reverse Linked List II ์ ๋ ฅ: 1->2->3->4->5, m = 2, n = 4 ์ถ๋ ฅ: 1->4->3->2->5 ํด์ค ์ธ๋ฑ์ค 0๋ถํฐ ์ญ์์ผ๋ก ๋ฐ๋ ์๋ ์๋ค. ํฌ ํฌ์ธํธ๋ฅผ ๊ธฐ์ ์ผ๋ก ๋ณํ๊ฐ ์๊ธฐ๋ฏ๋ก ํฌ ํฌ์ธํฐ(์๊ณ ๋ณด๋ ํฌ ํฌ์ธํธ๋ฅผ ๊ธฐ์ ์ผ๋ก 4๊ฐ์ง ์์น๊ด๊ณ๋ฅผ ๊ณ์ ์ฌ์ฉํจ) root = start = ListNode(None) root.next = head (๊ฐ์ฒด ์ฐธ์กฐ๋ผ์ start์ ๊ฐ๋ ๋ฐ๋) start, end ์์น ํด๋น ์ธ๋ฑ์ค(m, m... Read More
-
๋ ์ ๋ ฌ ๋ฆฌ์คํธ์ ๋ณํฉ
๋ ์ ๋ ฌ ๋ฆฌ์คํธ์ ๋ณํฉ - leetcode 21๋ฒ ๋ฌธ์ 21. Merge Two Sorted Lists ์ ๋ ฅ๊ฐ l1: 1->2->4, l2: 1->3->4 ์ถ๋ ฅ๊ฐ 1->1->2->3->4->4 ํด์ค ์ ๋ ฅ๊ฐ์ ํ์ชฝ์ผ๋ก ๋ชจ์ผ๋ ๊ฒ์์ ์์ํ๋ค. ํฌ๊ธฐ๋ฅผ ๋น๊ตํด์ ์์์ชฝ์ผ๋ก ๋ชจ์ผ๊ธฐ๋ก ํ์. ์ด๋ l1, l2 = l2, l1์ ์ด์ฉํด์ l1์ผ๋ก ๋ชจ์๋ค. ๋ ธ๋ ๊ฐ์ ์ฐ๊ฒฐ์ ์์ง ์ด๋ค์ง์ง ์์๋ค. ํฌ๊ธฐ ๋น๊ต๊ฐ ๋๋ ๋ ธ๋ ๊ฐ์ ์ฐ๊ฒฐ์ ๋ง๋ค์ด์ค๋ค. l1.next = self.mergeTwoL... Read More
-
์ญ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
์ญ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ - leetcode 206๋ฒ ๋ฌธ์ 206. Reverse Linked List ์ ๋ ฅ๊ฐ: 1->2->3->4->5 ์ถ๋ ฅ๊ฐ: 5->4->3->2->1 ํด์ค 1 (์ฌ๊ท์ ํ์ด) ๋ ธ๋์ ๊ฐ์ ๋ณํ์ง ์๊ณ ๋ ธ๋๋ฅผ ์ด๋ํ๋ฉด์ ์ฐ๊ฒฐ์ ๋ฐฉํฅ๋ง ๋ฐ๊ฟ์ค๋ค๊ณ ์๊ฐํ์. ์ถ๋ ฅ๊ฐ์ ๋ง์ง๋ง ๋ ธ๋์ธ ๊ฒ์ ์ ์ ์์. ํจ์๋ฅผ ์๋ก ์ ์ํด์ (ํ์ํ ๋ณ์: ๋ค์ ๋ ธ๋, ์ด์ ๋ ธ๋) ์ฌ๊ท์ ์ผ๋ก ๋ค์๋ ธ๋์ ์ฐ๊ฒฐ์ ๋ฐฉํฅ์ ๋ฐ๊พผ ๋ ธ๋๋ฅผ ํธ์ถํด์ค๋ค. ex) 1๋ฒ ๋ ธ๋์์ 1๋ฒ ๋ ธ๋๊ฐ None(๋ค์๋ ธ๋)๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋ง๋ค... Read More
-
๋จ์ด๊ณต๋ถ ๋ฐฑ์ค 1157๋ฒ
๋จ์ด๊ณต๋ถ - ๋ฐฑ์ค 1157๋ฒ ๋ฌธ์ ๋จ์ด๊ณต๋ถ - ๋ฐฑ์ค 1157๋ฒ ํด์ค ์ ์ถ๋ ฅ -> ๋๋ฌธ์๋ก โ ์นด์ดํ ๋ฆฌ์คํธ ํ์ ์นด์ดํ ๋ฆฌ์คํธ ๋ชฉ์ฐจ๋ set์ผ๋ก ๊ตฌํ, ๋์ ๊ฐ๋ค์ count๋ก ๊ตฌํ set, list์ ์๋๋์ ๋ฌธ์๋ณ ์ต๋ค ์นด์ดํ โ ์ธ๋ฑ์ค ํจ์๋ก ์ธ๋ฑ์ค ์ฐพ๊ธฐ -> ๋๋ฌธ์๋ก ์ถ๋ ฅ, 2๊ฐ ์ด์์ด๋ฉด โ?โ ์ถ๋ ฅ ์ฌ๊ธฐ์ count ๋ฆฌ์คํธ๋ฅผ ๋ณด๊ด ์ํ๊ณ ์ต๋๊ฐ ์์ ์ผ๋ ๋๋ด๋ ๋ฐฉ์๋ ์์ ์ฒ์ ํ์ด w = input().upper() upper_words = list(set(w)) cnt_list = [] for x in upper_word... Read More
-
React ์ค๋ฅ(npm ERR! Missing script:"start")
React ์ค๋ฅ ์ฒ๋ฆฌ ๊ฐ๋จํ๊ฒ React๋ฅผ ํ์ตํ๋ ค๊ณ ์ค์นํ๊ณ ์คํํ๋ ๋์ค ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๊ทธ๋์ ๊ตฌ๊ธ๋งํด์ ํด๊ฒฐํ๊ธด ํ๋๋ฐ ์ค๋ฅ ์์ธ๊ณผ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๊ฒ ๋จ๊ธฐ๊ธฐ ์ํด์ ํฌ์คํ ์ ๋จ๊ธฐ๊ฒ ๋์๋ค. npm ERR! Missing script: โstartโ npm ERR! Missing script: โstartโ ์ด๋ผ๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์๋ฌ์ ์์ธ์ ๊ฐ๋จํ๊ฒ ๋งํ์๋ฉด ์๋ชป๋ ๊ฒฝ๋ก์์ npm start๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. npx create-react-app ํด๋์ด๋ฆ์ผ๋ก react-app์ ์ค์นํ๊ธฐ ๋๋ฌธ์ ํด๋น ํด๋์ด๋ฆ ์์น๋ก ์ด๋ํด์ npm start๋ฅผ ํด์ฃผ๋ฉด ์ ์คํ๋๋ค. Read More
-
๋น๋ฌผ ํธ๋ํ(Trapping Rain Water)
๋น๋ฌผ ํธ๋ํ - leetcode 8๋ฒ ๋ฌธ์ 42. LeetCode Trapping Rain Water ๋์ด๋ฅผ ์ ๋ ฅ๋ฐ์ ๋น๊ฐ ์จ ํ ์ผ๋ง๋ ๋ง์ ๋ฌผ์ด ์์ผ ์ ์๋์ง ๊ณ์ฐํ๋ ๋ฌธ์ ์ด๋ค. ์ ๋ ฅ๊ฐ์ ์์๋ [0, 1, 0, 2, 1, 0, 3, 2, 1, 2, 1] ์ด๋ค ํด์ค 1 ๋จผ์ ํด๊ฒฐ์ ์ค๋ง๋ฆฌ๋ฅผ ์์๋ฅผ ํ๋ํ๋ ๋ค์ด๋ณด๋ฉด์ ์ฐพ์์ผ ํ๋ค. ์ด๋ค ์กฐ๊ฑด์ผ๋ ๋น๋ฌผ์ด ๊ณ ์ด๋์ง ์๊ฐํด๋ณด์. ๋จผ์ ์ ๋ ฅ๊ฐ์ด [1, 0, 1]์ด๋ผ๊ณ ์๊ฐํด๋ณด์ ๊ทธ๋ฌ๋ฉด ์ธ๋ฑ์ค 1์์ ๋น๋ฌผ์ด ๊ณ ์ด๊ฒ ๋๋ค. ์ด์ ์ธ๋ฑ์ค 0๊ณผ 1์ ๊ณ ์ ์ํจ ํ ๊ฐ์ ๋ณํ์ํค๋ฉด์ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง ๊ด์ฐฐํ๋ค. (๋ณ์๊ฐ ๋ง์ผ๋ฉด ๋ณํ๋ฅผ ๊ด์ฐฐํ๊ธฐ ์ด... Read More
-
Java enum ํด๋์ค
enum ํด๋์ค ์ ์ฌ์ฉํ๋๊ฑธ๊น? enum ํด๋์ค๋ ์ด๊ฑฐํ ํด๋์ค๋ก ์๋ก ๊ด๋ จ์๋ ์์๋ค์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค. ๋ฌผ๋ก ๊ทธ๋ฅ ํด๋์ค ์์๋ฅผ ์ ์ํด์ ์ฌ์ฉํ ์๋ ์๋ค. ํ์ง๋ง ํ์ ๋ง ๊ฐ์ผ๋ฉด ๋ด๊ฐ ์๋ํ ์์ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๊ฐ๋ ์์์ฒ๋ผ ์ฐ์ผ ์ ์๋ค๋ ๋ฌธ์ ์ ์ด ์๋ค. public class Example { public static final String TRUE = "TRUE"; public static final String FALSE = "FALSE"; public static void main(String[] args) { String state; state = Exam... Read More
-
Python lambda, sort ํจ์
lambda ํํ์ lambda x: (x) lambda๋ ํจ์์ ์ ์ธ์ด๋ ์๋ณ์ ์์ด ํ๋์ ์์ผ๋ก ํจ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ด๋ค ๋ค์์ ํจ์๋ def func(x, y): return x + y ์๋์ ๊ฐ์ด ๋๋ค ํํ์์ผ๋ก ํํํ ์ ์๋ค. lambda x, y: x + y lambda ์์ lambda x: x + 1 # ๋ณ์ 1๊ฐ lambda x: (x + 1)(1) # ๊ดํธ๋ก ๋ณ์ ๊ฐ ์ฃผ๊ธฐ lambda x, y: x + y # ๋ณ์ 2๊ฐ sort ํจ์ sort() sort ํจ์๋ฅผ ํตํด์ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌ ํ ์ ์๋ค. a = [2, 3, 5, 4, 1] a.sort() print(a) // a =... Read More
-
ํ(Queue)
ํ(Queue) ํ(Queue)๋? ํ๋ ๋งคํ์์์ ํ๋ฅผ ์ฌ๊ธฐ ์ํด์ ์ค์ ์๋ ๊ฒ์ฒ๋ผ ๋จผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ์ญ์ ๋๋ ๊ตฌ์กฐ์ด๋ค. ์ด๋ฐ ์ ์ถ๋ ฅ ๋ฐฉ์์ FIFO(First In First Out)์ด๋ผ๊ณ ํ๋ค. ํ ์ถ์์๋ฃํ(Queue Abstract Data Type) IsFull(): ํ๊ฐ ๋ค ์ฐผ์๋, true๋ฅผ ๋ฐํํ๋ค. IsEmpty(): ํ๊ฐ ๋น์ด์์๋, true๋ฅผ ๋ฐํํ๋ค. enqueue(): ํ์ ๋์ item์ ์ถ๊ฐํ๋ค. dequeue(): ํ์ ๋งจ ์์ item์ ์ ๊ฑฐํด์ ๋ฐํํ๋ค. peek(): ์คํ์ ๋งจ ์์ ์์๋ฅผ ์ ๊ฑฐํ์ง ์๊ณ ๋ฐํํ๋ค. ํ(Queue) ์... Read More
-
์คํ(Stack)
์คํ(Stack) ์คํ(Stack)์ด๋? ์คํ(Stack)์ ์์ด์ฌ์ ์์ (๊ฑด์ด, ๋ฐ์ง๋ฐ์๋ฅผ ์์๋์) ๋๋ฏธ๋ฅผ ์๋ฏธํ๋ค๊ณ ํ๋ค. ์คํ์ ์๋ก๋ ์ฐฝ๊ณ ์ ์์ธ ๋ฐ์ค๋, ์๋น์ ์์ธ ์ ์ ๋๋ฏธ๋ฑ์ด ์๋ค. ๋ฐ์ค๋ฅผ ์์๋ ์์์๋ถํฐ ํ๋ํ๋ ์๋ฏ์ด, ๋ฐ๋๋ก ๋ฐ์ค๋ฅผ ๊บผ๋ผ๋๋ ์์์๋ถํฐ ํ๋ํ๋ ๊บผ๋ธ๋ค. ์ด๋ฐ ์ ์ถ๋ ฅ ํํ๋ฅผ LIFO(Last-In First-Out)์ด๋ผ๊ณ ํ๋ค. ์คํ ์ถ์์๋ฃํ(Stack Abstract Data Type) IsFull(): ์คํ์ด ๋ค ์ฐผ์๋, true๋ฅผ ๋ฐํํ๋ค. IsEmpty(): ์คํ์ด ๋น์ด์์๋, true๋ฅผ ๋ฐํํ๋ค. push(): ์คํ์ ๋งจ ์์ item์ ์ถ... Read More
-
Merge Sort(ํฉ๋ณ ์ ๋ ฌ)
Merge Sort(ํฉ๋ณ ์ ๋ ฌ) Merge Sort(ํฉ๋ณ ์ ๋ ฌ)๋? ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ์ ํ๋๋ก, ์ ๋ ฅ๊ฐ๋ค์ ๋ถํ ํด์ ์์ ๋ฌธ์ ๋ค๋ก ๋ง๋ค๊ณ (Divide) ๊ฐ๊ฐ์ ๋ฌธ์ ๋ค์ ํด๋ฅผ ์ป๊ณ (Conquer) ๊ฐ๊ฐ์ ํด๋ค์ ํฉ์ณ์ ์ต์ข ํด๋ฅผ ์ป๋๋ค.(Combine) Merge Sort(ํฉ๋ณ ์ ๋ ฌ) ๊ณผ์ ํฉ๋ณ์ ๋ ฌ์ ์ํํจ์๋ฅผ ์ด์ฉํด์ ์ ๋ ฅ๊ฐ๋ค์ ์ ๋ฐ์ผ๋ก ๋ถํ ํ๋ค. ์ํํจ์๋ ๊ณ์ ์๊ธฐ์์ ์ ํธ์ถํ๊ณ ๊ฒฐ๊ตญ ๊ฐ๊ฐ์ 1์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋๊น์ง ๋ถํ ๋๋ค. ๋ ์ด์ ๋ถํ ํ ์ ์์ผ๋ฏ๋ก ๊ฐ๊ฐ ์ํํจ์๋ค์์ ํฉ๋ณํจ์๋ฅผ ํธ์ถํ๋ฉด์ ์ ๋ ฌ๊ณผ์ (๊ฐ๊ฐ์ ํด๋ค์ ์ป๋๋ค)์ด ์์๋๋ค. ๊ฒฐ๊ตญ์ ๋ชจ๋ ํด๋ค์ด ํฉ์ณ์ ธ์ ์ ... Read More
-
MYSQL ๋ช ๋ น์ด
MYSQL ๋ช ๋ น์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค CRUD ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ mysql > CREATE DATABASE dbname; ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชฉ๋ก ๋ณด๊ธฐ mysql > SHOW DATABASES; ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉํ๊ธฐ mysql > USE dbname; ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ ํ๊ธฐ mysql > DROP DATABASE [IF EXISTS] dbname; ํ ์ด๋ธ CRUD ํ ์ด๋ธ ์์ฑ mysql > CREATE TABLE tablename(); ex) CREATE TABLE mytable( ... Read More