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

๐Ÿ’ป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.

TOP

Designed by ํ‹ฐ์Šคํ† ๋ฆฌ