๐ป92 [์๊ณ ๋ฆฌ์ฆ] ์ฌ๋ผ์ด๋ฉ ์๋์ฐ(Sliding Window) ์ฌ๋ผ์ด๋ฉ ์๋์ฐ(Sliding Window)๊ณ ์ ๋ ์ฌ์ด์ฆ์ ์๋์ฐ(์ฐฝ)์ด ๋ฐฐ์ด ์์ ์ด๋ํ๋ฉด์ ์๋์ฐ ๋ด์ ๋ด์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํธ๋ ์๊ณ ๋ฆฌ์ฆ.์ฐจ์ด๊ฐ ๋๋ ์์ชฝ ๋ ์์๋ฅผ ๊ฐฑ์ ํ๋ค.์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ ํญ์ ๊ตฌ๊ฐ์ ๋๋น๊ฐ ๊ณ ์ ๋์ด ์ฃผ์ด์ง๋ค. ๋ง์ฝ, ์๋์ฐ์ ํฌ๊ธฐ๊ฐ 3์ผ ๊ฒฝ์ฐ sw[0] = arr[0] + arr[1] + arr[2]...sw[n] = sw[n-1] - arr[n-1] + arr[n-1+(์๋์ฐํฌ๊ธฐ)] ์์ Q. ์ฐ์๋ index n๊ฐ์ ํฉ์ ์ต์๋ฅผ ๊ตฌํ์์ค. ๊ทธ๋ฆฌ๊ณ ํฉ์ด ์ต์์ผ ๋์ ์ธ๋ฑ์ค(a,b)๋ฅผ ๊ตฌํ์์ค.(a 1. sw๋ฐฐ์ด์ ๋ชจ๋ ๋ด๊ณ ์ต์๊ฐ ๊ตฌํ๋ ๋ฐฉ์import java.util.Scanner;public class Main { static Scanner sc.. 2024. 10. 28. [์๊ณ ๋ฆฌ์ฆ] ๋์ ํฉ(Prefix Sum) +Java๊ฐ์ฒด ๋ฐฐ์ด ์ ์ธ & ์์ฑ ๋์ ํฉ (Prefix Sum) ๋์ ํฉ์ด๋? ๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๊ทธ ๋์ ๋ ํฉ์ ๋ฏธ๋ฆฌ ๊ตฌํด ๋๋ ๊ฒ, '์ ์ฒ๋ฆฌ' ๋ผ๊ณ ๋ ํจ.arr๋ฐฐ์ด์ ์ผ์ผํ for๋ฌธ์ผ๋ก ๋๋ฉด์ ํฉ์ ๊ตฌํ๋ฉด ๋๋๊ฒ ์๋๊ฐ๋ ์๋ฌธ์ ๋์ง ์ ์๋ค. ํ์ง๋ง ์ด๋ ๊ฒ ํ๋ฉด ์๊ฐ๋ณต์ก๋ ์ธก๋ฉด์์ ์ฑ๋ฅ์ด ์ ํ๋๋ค. (ํ ์คํธ์ผ์ด์ค์์ ์๊ฐ์ด๊ณผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ๋ ํจ..) ๊ทธ๋ฌ๋ฏ๋ก ๋์ ํฉ์ ๋ฏธ๋ฆฌ ๊ตฌํ์ฌ ์ฌ์ฉํ๋ค. ๋์ ํฉ ๊ตฌํํฌ๊ธฐ๊ฐ 10์ธ arr ๋ฐฐ์ด์ ๋์ ํฉ์ ๊ตฌํด๋ณด์ 1. ๋์ ํฉ์ผ๋ก [a] ~ [b] ์ ํฉ์ ๊ตฌํ๊ธฐ. " acc [ b ] - acc [ a - 1 ] " 2. acc๋ฐฐ์ด์ ์ฑ์ฐ๊ธฐ์ธ๋ฑ์ค 0 ์ผ๋๋ arr[0] ๊ทธ ์์ฒด๊ฐ ๋๋ค.๊ทธ ์ดํ๋ถํฐ๋ acc[i] = acc[i-1] + arr[i] " acc[0]=.. 2024. 10. 28. [JAVA] ๋ฌธ์์ด ์๋ฅด๊ธฐ - indexOf() , substring(), split() 1. indexOf()String finds = "abc-def"int idx = finds.indexOf("-"); // ์ธ๋ฑ์ค๊ฐ 3 2. substring()String finds = "abc-def";String ans = finds.substring(0,3); //abcString ans2 = finds.substring(4); //def3. split() : ์ง์ ํ ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ผ ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.String finds = "2021/4/13"; // '/'๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ฅธ๋ค. String date[] = birthday.split("/"); for(int i=0 ; i 2024. 10. 21. [JAVA] Char ๋ฌธ์์ด๋ก ๋ณํ char๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๋ ๋ฐฉ๋ฒString.valueOf(charrArr)-> java.lang.String ํด๋์ค์ valueOf() ๋ฉ์๋๋ char ๋ฐฐ์ด์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ String์ผ๋ก ๋ณํํ์ฌ ๋ฆฌํดํจ.char a = '์';char b = '๋ ';String test = String.valueOf(a) + String.valueOf(b);System.out.println(test); // ์๋ Character ํด๋์ค์ toString()-> Character ํด๋์ค์ toString() ๋ฉ์๋๋ฅผ ํตํด์ Char๋ฅผ String์ผ๋ก ๋ฐํํ ์ ์์.char a = '์';char b = '๋ ';String test = Character.toString(a) + Character.toString.. 2024. 10. 17. [JAVA] ๋ฌธ์์ด ๊ธธ์ด ์ ๋ ฌ Comparator ์ ์ฌ์ฉํ๋ค.์ด๋ ์ธํฐํ์ด์ค(interface)๋ก, ์ธํฐํ์ด์ค ๋ด์ ๋ฐ๋์ ์ ์ธ๋ ๋ฉ์๋๋ฅผ ๊ตฌํํด์ผํ๋ค! @Override //์ค๋ฆ์ฐจ์ ์ ๋ ฌ Arrays.sort(str, new Comparator() { @Override public int compare(String s1, String s2) { return s1.length()-s2.length(); } }); for(int i=0;i() { @Override public int compare(String s1, String s2) { return s2.length()-s1.length(); } }); for(int i=0;i 2024. 10. 16. [DB] MyBatis vs. JPA ๋ฐฑ์๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ํ๋ ์์ํฌ์๋ ๊ฐ์ฅ ํํ๊ฒ MyBatis์ JPA๊ฐ ์๋ค. MyBatis์ JPA์ ์ฐจ์ด์ ๋ํด ์ ๋ฆฌํด๋ณด์! 1. DB์ ์ฐ๋ํ๊ธฐ ์ํ ๊ธฐ์ DB์ ์ฐ๋ํ๊ธฐ ์ํ ๊ธฐ์ ์๋ ๋ ๊ฐ์ง๊ฐ ์๋ค. (ํ๋ ์์ํฌ) 1) SQL Mapper 2) ORM (Object Relational Mapping) SQL Mapper: ๊ฐ๋ฐ์๊ฐ ์์ฑํ SQL ์คํ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ฒด์ ๋งคํํจ.ORM (Object Relational Mapping): ๊ฐ์ฒด, DB๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋งคํํ๋ค -> ๋ ๊ธฐ์ ์ DB์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค๋ ๊ณตํต์ ์ ๊ฐ์ง์ง๋ง, ์๋ก ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ์ง๋ค. 2. MyBatis vs. JPA MyBatis ๋ SQL Mapper ๊ธฐ์ ์ ์ ๊ณตํ๋ฉฐ,JPA๋ ORM .. 2024. 10. 16. [JAVA] ๋ฒกํฐ(vector) · ๋ฉ์๋ ์ ๋ฆฌ ๋ชฉ์ฐจ1. Vector2. Vector ์ฌ์ฉํ๊ธฐadd()offer()remove()clear()removeAllElements()size()capacity() 1. VectorArrayList์ ๊ฐ์ด List ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ๋ ์ปฌ๋ ์ ํ๋ ์์ํฌ.์ฌ์ฉ๋ฒ์ ArrayList์ ์ ์ฌํ๋ค. 2. Vector ์ฌ์ฉํ๊ธฐ ์ ์ธ Vector ๋ณ์๋ช = new Vector(); ใด ์ ๊ฐ์ ๊ฒฝ์ฐ๋ ์๋ฃํ์ ๋ฃ์ ์๋ฃํ๋ง ์ฝ์ , ์ญ์ ๊ฐ๋ฅ Vector ๋ณ์๋ช = new Vector(10);ใด ์ด๊ธฐ ํฌ๊ธฐ ์ง์ '10' ์ฌ์ด์ฆ๋ก! Vector v1 = new Vector(Arrays.asList(1,2,3));ใด ์ด๊ธฐ ๊ฐ ์ง์ ๋ฉ์๋ ์ ๋ฆฌ add( ) - ์์ ์ถ๊ฐc++์ insert Vector vec.. 2024. 10. 14. [JAVA] ํ(Queue) · ๋ฉ์๋ ์ ๋ฆฌ ๋ชฉ์ฐจ1. Queue2. Queue ์ฌ์ฉํ๊ธฐadd()offer()remove()poll()element()peek()clear()contains()isEmpty() 1. Queue (ํ)- ํ(Queue)๋ ๊ฐ์ฅ ๋จผ์ ๋ฃ์ ์์๊ฐ ๊ฐ์ฅ ์ฒ์ ๋์ค๋ ๊ตฌ์กฐ๋ค. ( ์ ์ ์ ์ถ , FIFO ) 2. Queue ์ฌ์ฉํ๊ธฐ ๋จผ์ ์๋ฐ์์Queue๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ,import java.util.Queue;import java.util.LinkedList;์ ์ถ๊ฐํด์ค์ผ ํ๋ค. ์ ์ธ Queue ๋ณ์๋ช = new LinkedList(); ใด ์ ๊ฐ์ ๊ฒฝ์ฐ๋ ์๋ฃํ์ ๋ฃ์ ์๋ฃํ๋ง ์ฝ์ , ์ญ์ ๊ฐ๋ฅQueue ๋ณ์๋ช = new LinkedList(); ใด ์ ๊ฐ์ ๊ฒฝ์ฐ๋ ์ด๋ค ์๋ฃํ์ด๋ ์ฝ์ , ์ญ์ ๊ฐ๋ฅ(์ด์ ์ .. 2024. 10. 14. [JAVA] ์คํ (Stack) · ๋ฉ์๋ ์ ๋ฆฌ ๋ชฉ์ฐจ1. Stack2. Stack ์ฌ์ฉํ๊ธฐpush()pop()remove()peek()isEmpty()empty()search()size()set()elementAtclear() 1. Stack (์คํ) - ์คํ์ ๋ง์ง๋ง์ ๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ธ๋ค. (ํ์ ์ ์ถ. LIFO)* ์ฐธ๊ณ ๋ก Queue(ํ)๋ ์ ์ ์ ์ถ(FIFO) - ์๋ฐ ๊ฐ์ ๋จธ์ (JVM)์ ์ค์ค๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ํ๋๋ฐ, ์ด๋ Stack์ ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉ์ด ๋๋ ์ง์ญ๋ณ์๋ฅผ ๋ฐ๋ก ์ณ๋ด๋ฒ๋ฆฌ๋ฏ๋ก, ๋งค์ฐ ํจ์จ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.๋, ์๋ฐ์ Stack ํด๋์ค๋ Vector ํด๋์ค๋ฅผ ์์๋ฐ๋๋ค! ๋ฐ๋ผ์ Thread-safe ํน์ง์ ๊ฐ๋๋ค๊ณ ํ๋ค. 2. Stack ์ฌ์ฉํ๊ธฐ ๋จผ์ ์๋ฐ์์ Stack์ ์ฌ์ฉํ๊ธฐ.. 2024. 10. 14. [JAVA] sortํจ์, ๋ฐฐ์ด ์ ๋ ฌ(์ค๋ฆ์ฐจ์, ๋ด๋ฆผ์ฐจ์) 1์ฐจ์ ๋ฐฐ์ด ์ ๋ ฌ1์ฐจ์ ๋ฐฐ์ด ์ค๋ฆ์ฐจ์1์ฐจ์ ๋ฐฐ์ด ๋ด๋ฆผ์ฐจ์import java.util.Arrays;import java.util.Arrays;import java.util.Collections;Arrays.sort(๋ฐฐ์ด);Arrays.sort(๋ฐฐ์ด, Collections.reverseOrder());int๋ฐฐ์ด ์ฌ์ฉ๊ฐ๋ฅWrapper Class ์ฌ์ฉ(Integer ๋ฑ) 2์ฐจ์ ๋ฐฐ์ด ์ ๋ ฌ2์ฐจ์ ๋ฐฐ์ด ์ค๋ฆ์ฐจ์2์ฐจ์ ๋ฐฐ์ด ๋ด๋ฆผ์ฐจ์import java.util.Arrays;import java.util.Comparator;import java.util.Arrays;import java.util.Comparator;Arrays.sort(๋ฐฐ์ด,new Comparator(){๋ด๋ถ๊ตฌ๋ฌธ});Arrays.sort(๋ฐฐ์ด,.. 2024. 10. 14. [Tomcat] '404์๋ฌ' ๊ฐ ๋ฐ์ํ๋ค๋ฉด? JSP,Servlet ์ ์ฐ๊ฒฐํด์ ๋ฌธ์ ์์ด ์๋ํ๋ค๊ฐ๋ ํ๋ฒ์ฉ ์ด์ ์์ด(?) ์๋ฌ๊ฐ ๋๋ ํฐ์บฃ.. ๊ฐ๋จํ๊ฒ ๋ฌธ์ ์ง๋จ๊ณผ ํด๊ฒฐ์ ์ํด ์ ๋ฆฌํด๋๊ธฐ๋ก.. ๐ซฅ tomcat์๋ฒ ์๋ฌ ๋ฌธ์ ์ ๋ํ์ 5๊ฐ์ง ์์ธ 1. web.xml ์๋ฌ servlet๋ฑ๋ก์ด ์๋ชป๋์ด ์์ ๋๋ฅผ ๋งํ๋ค. servlet-name, servlet-classm url-pattern์ ์คํ์์ด ์ ํํ ๊ธฐ์ ํ๋์ง ํ์ธํ์. 2. ์๋ธ๋ฆฟ ์ด๋ ธํ ์ด์ ์์ฑํ servlet์ ์ด๋ ธํ ์ด์ ์ ์คํ๊ฐ ์์ ๊ฒฝ์ฐ ์๋ฒ๊ฐ ์์๋์ง ์๋๋ค. @๋ก ์์ํ๋ ์ด๋ ธํ ์ด์ ๋ถ๋ถ์ ์๋ชป ์ผ๋์ง ๋ค์ ํ๋ฒ ํ์ธํด ๋ณด์. (controller์์ ์ด๋ถ๋ถ ํ์ธํด์ ์ค๋ฅ ํด๊ฒฐ ํ ๊ฒฝ์ฐ ๋ค์.. 2024. 10. 7. [JAVA] String ๋น๊ตํ๊ธฐ 1. equals()์ผ๋ก ๋ฌธ์์ด ๋น๊ตequals()๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ฐ์ ๋ฌธ์์ด์ด ๋์ผํ์ง ๋น๊ตํ ์ ์๋ค. String str1 = "Hello";String str2 = "World";String str3 = "Hello";System.out.println("str1.equals(str2) : " + str1.equals(str2));System.out.println("str2.equals(str1) : " + str2.equals(str1));System.out.println("str1.equals(str3) : " + str1.equals(str3)); ๊ฒฐ๊ณผstr1.equals(str2) : falsestr2.equals(str1) : falsestr1.equals(str3) : true ๋ง์ฝ Str.. 2024. 9. 30. ์ด์ 1 2 3 4 5 6 ยทยทยท 8 ๋ค์