Deep_Dev
[JAVA] split() ์ธ์ž ์—ฌ๋Ÿฌ๊ฐœ

https://school.programmers.co.kr/learn/courses/30/lessons/120956 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ด ๋ฌธ์ œ๋ฅผ split() ๋ฉ”์†Œ๋“œ๋กœ ํ’€์ดํ•˜๋Š” ๋ฐฉ๋ฒ•์—์„œ ํ—ท๊ฐˆ๋ ธ๋˜ ๊ฒƒ.. ๐Ÿ’ก split()์ด ์ธ์ž 1๊ฐœ ์ผ ๋•Œ String str="a1b1c" String[] temp=str.split("1") ์ด๋ ‡๊ฒŒ ์‹คํ–‰ํ•˜๋ฉด 1์ด ๊ตฌ๋ถ„์ž๋กœ ๋“ค์–ด๊ฐ„ ๊ฒƒ์ด๊ณ , ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ a b c ์ด๋ ‡๊ฒŒ ์ž˜๋ฆฌ๊ฒŒ ๋œ๋‹ค. ๐Ÿ’ก split()์ด ์ธ์ž 2๊ฐœ ์ด์ƒ ์ผ ๋•Œ String str="ayaye" String[] temp=str.sp..

[JAVA] Collection ( HashMap , HashSet ์ฐจ์ด )

๐Ÿ’ก Collection ์ด๋ž€? collection : ๊ฐ์ฒด์ด๋ฉฐ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ์›์†Œ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ๐Ÿ’ก Collection ์ž๋ฃŒ๊ตฌ์กฐ ์œ ํ˜• 1. ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ชฉ๋ก์ธ List 2. ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ชฉ๋ก์ธ Set 3. ๋จผ์ € ๋“ค์–ด์˜จ ๊ฒƒ์ด ๋จผ์ € ๋‚˜๊ฐ€๋Š”(FIFO) Queue 4. Key-Valueํ˜•ํƒœ๋กœ ์ €์žฅ๋˜๋Š” Map ๐Ÿ’ก HashMap๊ณผ HashSet์˜ ์ฐจ์ด์  6๊ฐ€์ง€ 1. ์ •์˜ HashMap : Map ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ฒด๋กœ, HashTable๊ณผ ์œ ์‚ฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ HashSet : Set์˜ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์ฒด๋กœ, ๋‚ด๋ถ€์ ์œผ๋กœ HashMap์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— HashTable๊ณผ ์œ ์‚ฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ 2. ๋ฐ์ดํ„ฐ ์ €์žฅ ํ˜•ํƒœ HashMap : Key-Value ์Œ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ..

article thumbnail
[JAVA][์•Œ๊ณ ๋ฆฌ์ฆ˜] BFS

๐Ÿ’กBFS BFS๋Š” ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์œผ๋กœ, ๋ฃจํŠธ ๋…ธ๋“œ์—์„œ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ํƒ์ƒ‰ํ•œ ๋‹ค์Œ ํ•˜์œ„ ๋ ˆ๋ฒจ๋กœ ๋‚ด๋ ค๊ฐ€ ๋˜ ๋ชจ๋‘ ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€, ๋” ์ด์ƒ ํƒ์ƒ‰ํ•  ๋…ธ๋“œ๊ฐ€ ์—†์„ ๋•Œ ํƒ์ƒ‰์„ ๋ฉˆ์ถ”๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ํ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ๋‹ค. ๐Ÿ’ก BFS ์ฝ”๋“œ๊ตฌํ˜„ import java.util.*; class Node{ int data; Node lt,rt; public Node(int val){ data=val; lt=rt=null; } } public class Solution { Node root; public void BFS(Node root) { Queue Q=new LinkedList(); Q.offer(root); int L=0; while(!Q.isEmpty()){ int len=Q..

[JAVA][์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ( ์„ ํƒ ์‚ฝ์ž… ๋ฒ„๋ธ” )

๐Ÿ’ก ์„ ํƒ์ •๋ ฌ ( Selection Sort ) ๊ฐ€์žฅ ์›์‹œ์ ์ธ ๋ฐฉ๋ฒ•์˜ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์ž‘์œ„๋กœ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„ ๋•Œ, ๊ฐ€์žฅ ์ž‘์€ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ด ๋งจ ์•ž์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ฐ”๊พธ๊ณ , ๊ทธ ๋‹ค์Œ ์ž‘์€ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ด ์•ž์—์„œ ๋‘๋ฒˆ์งธ ๋ฐ์ดํ„ฐ์™€ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„ : O(N²) ์žฅ์  ์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๊ฐ€ ์ž‘๋‹ค. ๋‹จ์  ์•ˆ์ • ์ •๋ ฌ์ด ์•„๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(N^2) ์ด๋‹ค. public void sort(int[] arr) { for(int i=0; i

article thumbnail
[JAVA] Queue ์ •๋ฆฌ

โœ… Queue Queue : ์ค„์„ ์ง€์–ด์„œ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ํ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์Œ“์•„๋‘๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์Šคํƒ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ, FIFO ( First In First Out )์˜ ํ˜•ํƒœ์ด๋‹ค. ์ฆ‰, ๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜๊ฐ€๋Š” ๊ตฌ์กฐ์ด๋‹ค. ๐Ÿ’กQueue์˜ ํŠน์ง• 1. ๋จผ์ € ๋“ค์–ด๊ฐ„ ์ž๋ฃŒ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” FIFO ๊ตฌ์กฐ 2. ํ๋Š” ํ•œ์ชฝ ๋์€ front๋กœ ์นญํ•˜์—ฌ ์‚ญ์ œ ์—ฐ์‚ฐ๋งŒ ์ˆ˜ํ–‰ 3. ๋‹ค๋ฅธ ํ•œ์ชฝ ๋์€ rear๋กœ ์นญํ•˜์—ฌ ์‚ฝ์ž… ์—ฐ์‚ฐ๋งŒ ์ˆ˜ํ–‰ 4. ๊ทธ๋ž˜ํ”„์˜ ๋„“์ด ์šฐ์„  ํƒ์ƒ‰(BFS)์—์„œ ์‚ฌ์šฉ 5. ์ปดํ“จํ„ฐ ๋ฒ„ํผ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ, ๋งˆ๊ตฌ ์ž…๋ ฅ์ด ๋˜์—ˆ์œผ๋‚˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ๋ชปํ•  ๋•Œ, ๋ฒ„ํผ(ํ)๋ฅผ ๋งŒ๋“ค์–ด ๋Œ€๊ธฐ ์‹œํ‚ด Queue ์‚ฌ์šฉ๋ฒ• Queue ์„ ์–ธ import java.util.LinkedList; import java.uti..

article thumbnail
[JAVA] Stack ์ •๋ฆฌ

โœ… Stack Stack = '์Œ“๋‹ค' , '๋”๋ฏธ' ์ฆ‰, ์ƒ์ž์— ๋ฌผ๊ฑด์„ ์Œ“์•„ ์˜ฌ๋ฆฌ๋“ฏ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์Œ“๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„๊ฒƒ์ด ๋จผ์ € ๋‚˜์˜ค๋Š” ( Last In First Out )์˜ ํ˜•ํƒœ๋ฅผ ๋œฌ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋ฐฉ์‹์„ ๊ฐ€์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ธ Stack์„ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์‹œ import java.util.Stack ์„ ์ž„ํฌํŠธํ•ด์•ผํ•œ๋‹ค. Stack์˜ ํŠน์ง• 1. ๋จผ์ € ๋“ค์–ด๊ฐ„ ์ž๋ฃŒ๊ฐ€ ๋‚˜์ค‘์— ๋‚˜์˜ด ( LIFO ) 2. ์‹œ์Šคํ…œ ํ•ดํ‚น์—์„œ ๋ฒ„ํผํ”Œ๋กœ์šฐ ์ทจ์•ฝ์ ์„ ์ด์šฉํ•œ ๊ณต๊ฒฉ์„ ํ•  ๋•Œ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์˜์—ญ์—์„œ ํ•จ 3. ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ, ์ˆ˜์‹์˜ ๊ณ„์‚ฐ, ์„œ๋ธŒ๋ฃจํ‹ด์˜ ๋ณต๊ท€ ๋ฒˆ์ง€ ์ €์žฅ ๋“ฑ์— ์“ฐ์ž„ 4. ๊ทธ๋ž˜ํ”„์˜ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(DFS)์—์„œ ์‚ฌ์šฉ 5. ์žฌ๊ท€์ (Recursion) ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์‚ฌ์šฉ S..

[JAVA] BigDecimal ์ •๋ฆฌ

๐Ÿ’กBigDecimal ์ž๋ฐ”์—์„œ ์ˆซ์ž๋ฅผ ์ •๋ฐ€ํ•˜๊ฒŒ ์ €์žฅํ•˜๊ณ  ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด ์ž๋ฐ”์—์„œ ์†Œ์ˆ˜๋Š” ์ •๋ฐ€๋„์˜ ํ•œ๊ณ„๋กœ ์ธํ•ด ๊ฐ’์ด ์œ ์‹ค๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์  : ๋Š๋ฆฐ ์†๋„ & ๋ณต์žกํ•œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• import java.math.BigDecimal; ๐Ÿ’กBigDecimal ๊ธฐ๋ณธ ์ƒ์ˆ˜ BigDecimal์€ ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐํ™”๊ฐ€ ๊ธฐ๋ณธ ํƒ€์ž…๋ณด๋‹ค ๊ธด ํŽธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” 0, 1, 10์€ ์ƒ์ˆ˜๋กœ ์ •์˜๋˜์–ด์žˆ์Œ BigDecimal.ZERO // 0 BigDecimal.ONE // 1 BigDecimal.TEN // 10 ๐Ÿ’กBigDecimal ์ดˆ๊ธฐํ™” double ํƒ€์ž…์„ ๊ฐ€์žฅ ์•ˆ์ „ํ•˜๊ฒŒ BigDecimal์„ ์ด์šฉํ•ด์„œ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ BigDecimal ์ƒ์„ฑ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š”๊ฒƒ์ด๋‹ค. d..

article thumbnail
[JAVA][์•Œ๊ณ ๋ฆฌ์ฆ˜] DFS ( ์ด์ง„ ํŠธ๋ฆฌ ์ˆœํšŒ )

โœ… ์ด์ง„ ํŠธ๋ฆฌ ์ˆœํšŒ ์ด์ง„ ํŠธ๋ฆฌ๋Š” ๋ถ„ํ•  ์ •๋ณต ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋น ๋ฅธ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํƒ์ƒ‰ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ์ „์œ„, ์ค‘์œ„, ํ•˜์œ„๋กœ ๋‚˜๋ˆˆ๋‹ค ์ „์œ„ Node๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ถ€๋ชจ -> ์™ผ์ชฝ ์ž์‹ -> ์˜ค๋ฅธ์ชฝ ์ž์‹ ์ž์‹์ด ์—ฌ๋Ÿฟ์ผ ๊ฒฝ์šฐ ๋๊นŒ์ง€ ํŒŒ๊ณ ๋“ ๋‹ค. 1 2 4 5 3 6 7 ์ค‘์œ„ Node๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ ์ž์‹ -> ๋ถ€๋ชจ -> ์˜ค๋ฅธ์ชฝ ์ž์‹ ์™ผ์ชฝ ๋๊นŒ์ง€ ๋„๋‹ฌํ•˜์—ฌ ๋ถ€๋ชจ๋ฅผ ์ง€๋‚˜ ์˜ค๋ฅธ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ 4 2 5 1 6 3 7 ํ›„์œ„ ์™ผ์ชฝ ์ž์‹ -> ์˜ค๋ฅธ์ชฝ ์ž์‹ -> ๋ถ€๋ชจ ๋ฐฉํ–ฅ ์ž์‹์„ ๋จผ์ € ํƒ์ƒ‰ ํ›„ ๋ถ€๋ชจ์—๊ฒŒ ๊ฐ„๋‹ค. 4 5 2 6 7 3 1 > ์ฝ”๋“œ ๊ตฌํ˜„ ๊ตฌํ˜„๋œ ์ฝ”๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ, print๋ฌธ์˜ ์ˆœ์„œ๊ฐ€ ์–ด๋””๋ƒ์— ๋”ฐ๋ผ ์ „์œ„, ์ค‘์œ„, ํ›„์œ„๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. import java.util.*; Class Node{ int dat..