๐๋ฐฑ์๋ : BackEnd
Spring โญXml->Annotation (์ถ์ฒ:https://www.youtube.com/watch?v=S065KRjXRSY&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T&index=12&t=90s) XML์ ์ด์ฉํ๋ค๋ฉด B2๋ฅผ B3๋ก ๋ฐ๊พธ๊ณ ์ถ์๋ ์ค์ ํ์ผ ์ฝ๋๋ฅผ ์์ ํด์ผ ํ๋ค. ์์ค์ฝ๋๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ค์ ํ์ผ๋ง ์์ ํ ์ ์๋ค๋ ์ ์ด ์์ ์๋ ์ข์์ง๋ง, ์ค์ ํ์ผ์ ์์ ํ๋๊ฒ์ ๋ถํธํจ์ ๋๋ผ๊ฒ ๋์๋ค. ์์ค์ฝ๋์ ์ค์ ์ ์ฌ๋ ์ด๋
ธํ
์ด์
์ ํ์ฉํ๊ธฐ ์์ํ๋ค. โญ@Autowired์ ์ด์ฉํ DI (์ถ์ฒ:https://www.youtube.com/watch?v=S065KRjXRSY&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T&index=12&t=90s) ..
๐๋ฐฑ์๋ : BackEnd
Spring toString (์๋ฐ์ ๊ฐ์) ๊ฐ์ฒด์งํฅ ์ธ์ด๋ค์ ๊ฐ์ฒด์ toString์ด๋ผ๋ ๋ฉ์๋๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ค. ์ผ๋ฐ์ ์ผ๋ก toString์ ๊ทธ ๊ฐ์ฒด๋ฅผ ์ค๋ช
ํด์ฃผ๋ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด์ toString์ ๋ฎ์ด์ฐ๊ธฐ(overriding)ํ๋ฉด ๋ค๋ฅธ ํ์์ ๋ฌธ์์ด์ ๋ฆฌํดํ ์ ์๋ค. ๋ฌธ์์ด์ด ๊ธฐ๋๋๋ ๊ณณ์์ ๋ฌธ์์ด์ด ์๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ฉด ์์คํ
์ ์์์ ์ผ๋ก toString์ ํธ์ถํ๋ค. โญ์์ java ์ฝ๋ ์
์์ฑ public class Program { public static void main(String[] args) { List exams = new ArrayList(); exams.add(new NewlecExam(1,1,1,1)); for(Exam e : exams) System.o..
๐๋ฐฑ์๋ : BackEnd
Spring โญSpring์ฌ์ฉํ์ง ์์ DI package spring.di; public class Program { public static void main(String[] args) { Exam exam = new NewlecExam(1,2,3,4); ExamConsole console = new GridExamConsole(); console.setExam(exam); // DI console.print(); } } >>> โโโโโโโโโโโฌโโโโโโโโโโ โ total โ avg โ โโโโโโโโโโโผโโโโโโโโโโค โ 10 โ 2.50 โ โโโโโโโโโโโดโโโโโโโโโโspring์ ์ฌ์ฉํ์ง ์๊ณ exam์ด๋ผ๋ dependecy๋ฅผ ๋ง๋ค์ด์ console์ injectionํ..
๐๋ฐฑ์๋ : BackEnd
Spring JAVA EE dependency injection, transaction management์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง ์ด๋ ค์, ๋ณต์ก๋๊ฐ ๋์, ์ฌ๋ฌ ๋์ฒ์ํฉ์ด ํ๋ฌ Spring ๋จ์ํ๊ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ์ฐ๋ ๋ฐฉ์์ผ๋ก ๊น๋ํ๊ฒ ์ฒ๋ฆฌ dependency injection์ ๊ฐ์ด ์ฝ๊ฒ ๊ตฌํํ ์ ์๊ฒ ํด์ค JAVA EE์ ์์ญ์ ๋์ ํ๊ฒ ๋จ! Spring์ ์ฌ์ฉํ ์น๊ฐ๋ฐ (์ถ์ฒ : https://www.youtube.com/watch?v=XtXHIDnzS9c&t=491) ์น๊ฐ๋ฐ ํ ๋ ํ์ํ ์ธ๊ฐ์ง ์น MVC : SPRING์ด ์ ๊ณตํ๋ DI ๊ธฐ๋ฅ์ ์ดํดํด์ผ ํจ : DI์ ๋ํด์ ๋์จํ ๊ฒฐํฉ๋ ฅ๊ณผ ์ธํฐํ์ด์ค์ ๋ํด์ ์ดํด ํธ๋์ญ์
์ฒ๋ฆฌ๋ฐฉ๋ฒ : SPRING์ด ์ ๊ณตํ๋ AOP๋ฅผ ์ดํดํด์ผ ํจ ์ธ์ฆ๊ณผ ๊ถํ : Se..
๐๋ฐฑ์๋ : BackEnd
SpringSpring์ด ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฅ๋ ฅ์ํ๋ ๋ถํ(Dependency)์ด ๋ฌด์์ธ์ง, ์ด๋ป๊ฒ ๊ฒฐํฉ(Injection)๋์์ผ๋ฉด ํ๋์ง ์ค์ ํด์ฃผ๋ฉด Spring์ด DIํด์ค๋คDI(Dependency Injection)(=๋ถํ ์กฐ๋ฆฝ)ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด์งํฅ์ผ๋ก ๋ง๋ค๊ฒ ๋ ๊ฒฝ์ฐ, ๊ฐ์ฒด๋ค์ ์กฐ๋ฆฝ๊ด๊ณ๋ก ๋ง๋ค์ด์ง๊ฒ ๋๋ค.A๋ผ๋ ํด๋์ค๊ฐ B๋ผ๋ ํด๋์ค๋ฅผ ๊ฐ์ฒดํ ํด์ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ํ ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. 1.Composition has a (์ผ์ฒดํ)A๊ฐ ์์ฑ๋ ๋ B์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ๊ฐ์ง๋ค.์ด ๊ฒฝ์ฐ A๊ฐ B๋ฅผ ์ผ์ฒดํ์ผ๋ก ๊ฐ์ก๋ค๊ณ ํด์ Composition(์ผ์ฒดํ) has a ๊ด๊ณ๋ผ๊ณ ํ๋ค.์ด๋ B๋ฅผ A์ ๋ถํ์ด๋ผ๊ณ ํ ์ ์๋๋ฐ, ์ด B๋ฅผ Dependency(๋ถํ)๋ผ๊ณ ํ๋ค.class A{ ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๊ธฐ์กด GCD๊ตฌํ๋ ๋ฐฉ๋ฒ for i in range(min(a,b),0,-1): if a%i==0 and b%i==0: print(i) break a์ b์ค ์์ ์ซ์๋ถํฐ ์์ํด์ 1๊น์ง ๊ฐ์ํ๋ฉด์, ์ ์ผ ์ฒ์ a์ b๋ชจ๋ ๋๋ ๋จ์ดํธ๋ฆฌ๋ ์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ๋ ๋ฌด์ฐจ๋ณ ๋์
(Brute Force)๋ก O(N)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ๋๋ค. ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ (Euclidean Algorithm) def gcd(a,b): # a>b if b==0: return a c=a%b return gcd(b,c) a๋ฅผ b๋ก ๋๋ ๋๋จธ์ง๋ฅผ r์ด๋ผ๊ณ ํ์๋, a์ b์ ์ต๋๊ณต์ฝ์๋ b์ r์ ์ต๋๊ณต์ฝ์์ ๊ฐ๋ค๋ ์ฑ์ง์ ์ด์ฉํ ๊ฒ์ด๋ค.(์ฌ๊ทํจ์ ์ด์ฉ) ์ด๋ฌํ ์ฑ์ง์ ํ์ฉํ์ฌ b์ r์ ์ต๋๊ณต์ฝ์ r0๋ฅผ ๊ตฌํ๊ณ r์ r0๋ก ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ณํฉ ์ ๋ ฌ(Merge Sort) ์ ๋ ฌ ์์ ๋ฆฌ์คํธ์ ๊ธธ์ด๊ฐ 1 ์ดํ์ด๋ฉด ์ด๋ฏธ ์ ๋ ฌ๋ ๊ฒ์ผ๋ก ๋ณธ๋ค. ๋ถํ (divide) : ์ ๋ ฌ๋์ง ์์ ๋ฐฐ์ด์ ์ ๋ฐ์ผ๋ก ์๋ผ ๋ ๋ฐฐ์ด๋ก ๋๋๋ค. ์ ๋ณต(conquer) : ๋๋ ์ง ๋ ๋ฐฐ์ด์ ์ฌ๊ท์ ์ผ๋ก ๋ณํฉ์ ๋ ฌ์ ์ฌ์ฉํด์ ์ ๋ ฌํ๋ค. ๊ฒฐํฉ(combine) : ๋ ๋ฐฐ์ด์ ๋ค์ ํ๋์ ์ ๋ ฌ๋ ๋ฐฐ์ด๋ก ํฉ๋ณํ๋ค. ๋ถํ ์ ๋ณต(divide and conquer)๊ธฐ๋ฒ๊ณผ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ์ ๋ ฌํ๋ ๋ฐฉ์์ด๋ค. ์ํ ๊ณผ์ ์์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฌ๋์ง ์์ ๋ฐฐ์ด์ด ์๋ค. [6, 5, 3, 1, 8, 7, 2, 4]์ ๋ฐ์ผ๋ก ์๋ผ ๋ ๋ฐฐ์ด๋ก ๋๋๋ค. [6, 5, 3, 1] [8, 7, 2, 4]๋ค์ ๋ ๋ฐฐ์ด์ ๋๋ ๋ค ๊ฐ๋ก ๋๋๋ค. [6, 5] [3, 1] [8, 7] [2, 4]๋ง์ง๋ง์ผ๋ก ๋ค ..
๐์ฝ๋ฉํ
์คํธ:CodingTest
์นด์ดํ
์ ๋ ฌ(Counting Sort) ๊ณผ์ ๋ฐฐ์ด์ ์กด์ฌํ๋ ์์ ๊ฐ์๋ฅผ ์ธ์ด์, ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ ๋ ฌ์ ์ํํ๋ค. 1.๋ฐฐ์ด์ ์กด์ฌํ๋ ๊ฐ ๊ฐ์ ๊ฐฏ์๋ฅผ ์ ์ฅํ๋ count ๋ณ์๋ฅผ ์์ฑํ๋ค. ์๋ฅผ๋ค์ด count[1]=4 ๋ผ๋ฉด ๋ฐฐ์ด์๋ 1์ ๊ฐ์ด 4๊ฐ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. count๋ ๋ฐฐ์ด ์์์ ์ต๋๊ฐ๊น์ง๋ฅผ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ๋ค. arr = [4, 7, 9, 1, 3, 5, 2, 3, 4] cnt = [0] * (max(arr) + 1) for num in arr: cnt[num] += 1 print(cnt) # [0, 1, 1, 2, 2, 1, 0, 1, 0, 1] 2. count๋ฐฐ์ด์ ๋์ ํฉ์ผ๋ก ๊ณ์ฐํ์ฌ ๊ฐฑ์ ํ์ฌ ์ค๋ค. ๋์ ํฉ์ผ๋ก ๊ฐฑ์ ํ๋ ์ด์ ๋ ๋ฆฌํด ํ ์ ๋ ฌ๋ ๋ฐฐ์ด answer์ ์ ์ ํ ์์น์ ์ฝ์
ํ๊ธฐ ..