๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

Algorithm242

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[Java] - (Level2)ํƒ€๊ฒŸ๋„˜๋ฒ„(dfs) https://programmers.co.kr/learn/courses/30/lessons/43165?language=java ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ฝ”๋“œ class Solution { public static int answer = 0; public void dfs(int[] numbers, int target, int index){ // base case: if(index == numbers.length){ int sum = 0; for(int i=0; i์Œ์ˆ˜, ์Œ์ˆ˜->์–‘์ˆ˜ */ dfs(numbers, target, index+.. 2020. 3. 30.
[Codeforces] 1270A: Card Game https://codeforces.com/problemset/problem/1270/A Problem - 1270A - Codeforces codeforces.com ์ฝ”๋“œ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in.. 2020. 3. 29.
[๋ฐฑ์ค€] 4949๋ฒˆ: ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ(์Šคํƒ, ๋ฌธ์ž์—ด) acmicpc.net/problem/4949 4949๋ฒˆ: ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ ๋ฌธ์ œ ์„ธ๊ณ„๋Š” ๊ท ํ˜•์ด ์ž˜ ์žกํ˜€์žˆ์–ด์•ผ ํ•œ๋‹ค. ์–‘๊ณผ ์Œ, ๋น›๊ณผ ์–ด๋‘  ๊ทธ๋ฆฌ๊ณ  ์™ผ์ชฝ ๊ด„ํ˜ธ์™€ ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค. ์ •๋ฏผ์ด์˜ ์ž„๋ฌด๋Š” ์–ด๋–ค ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ด„ํ˜ธ๋“ค์˜ ๊ท ํ˜•์ด ์ž˜ ๋งž์ถฐ์ ธ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜๋Š” ๊ด„ํ˜ธ๋Š” ์†Œ๊ด„ํ˜ธ("()") ์™€ ๋Œ€๊ด„ํ˜ธ("[]")๋กœ 2์ข…๋ฅ˜์ด๊ณ , ๋ฌธ์ž์—ด์ด ๊ท ํ˜•์„ ์ด๋ฃจ๋Š” ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๋ชจ๋“  ์™ผ์ชฝ ์†Œ๊ด„ํ˜ธ("(")๋Š” ์˜ค๋ฅธ์ชฝ ์†Œ๊ด„ํ˜ธ(")")์™€๋งŒ ์ง์„ ์ด๋ค„์•ผ ํ•œ๋‹ค. ๋ชจ๋“  ์™ผ์ชฝ ๋Œ€๊ด„ํ˜ธ("[")๋Š” ์˜ค๋ฅธ์ชฝ ๋Œ€๊ด„ www.acmicpc.net ์ฝ”๋“œ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStr.. 2020. 3. 27.
[๋ฐฑ์ค€] 5555๋ฒˆ: ๋ฐ˜์ง€(๋ฌธ์ž์—ด) https://www.acmicpc.net/problem/5555 5555๋ฒˆ: ๋ฐ˜์ง€ ๋ฌธ์ œ ๋‹น์‹ ์€ N๊ฐœ์˜ ๋ฐ˜์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฐ˜์ง€๋Š” ๋Œ€๋ฌธ์ž 10 ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ƒˆ๊ฒจ์ ธ ์žˆ๋‹ค. ๋ฐ˜์ง€๋Š” ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘๊ณผ ๋์ด ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ๋กœ ๋ฌธ์ž๊ฐ€ ์ƒˆ๊ฒจ์ ธ ์žˆ๋‹ค. ๋ฐ˜์ง€์— ๊ฐ์ธ๋œ ๋ฌธ์ž์—ด์„ ๊ฑฐ๊พธ๋กœ ์ฝ๋Š” ๊ฑฑ์ •์€ ์—†๋‹ค. ์ฐพ๊ณ ์žํ•˜๋Š” ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๊ทธ ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” ๋ฐ˜์ง€๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์ž…๋ ฅ ์ž…๋ ฅ์€ ์ด 2 + N ์ค„ ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” 1 ์ž ์ด์ƒ 10 ์ž ์ดํ•˜์˜ ๋Œ€๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋œ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ์ ํ˜€์žˆ๋‹ค. ๋‘ www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void main(Strin.. 2020. 3. 27.
[๋ฐฑ์ค€] 2998๋ฒˆ: 8์ง„์ˆ˜(๋ฌธ์ž์—ด, ๊ตฌํ˜„) https://www.acmicpc.net/problem/2998 2998๋ฒˆ: 8์ง„์ˆ˜ ๋ฌธ์ œ ์ฐฝ์˜์ด๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ง„๋ฒ•์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค. ์ฐฝ์˜์ด๋Š” ์–ด์ œ 2์ง„๋ฒ•์„ ๋ฐฐ์› ๊ณ , ์˜ค๋Š˜์€ 8์ง„๋ฒ•์„ ๋ฐฐ์› ๋‹ค. ์ด์ œ, 2์ง„๋ฒ• ์ˆ˜๋ฅผ 8์ง„๋ฒ• ์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ฐฝ์˜์ด๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 2์ง„์ˆ˜์˜ ๊ธธ์ด๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์งˆ ๋•Œ ๊นŒ์ง€ ์ˆ˜์˜ ์•ž์— 0์„ ๋ถ™์ธ๋‹ค. ๊ทธ ๋‹ค์Œ, 3์ž๋ฆฌ์”ฉ ๊ทธ๋ฃน์„ ๋‚˜๋ˆˆ๋‹ค. ์•„๋ž˜์˜ ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•ด 8์ง„์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค. 2์ง„์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ฐฝ์˜์ด๊ฐ€ ์‚ฌ์šฉํ•œ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด 8์ง„์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 000 0 001 1 010 www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void main(Stri.. 2020. 3. 27.
[๋ฐฑ์ค€] 9933๋ฒˆ: ๋ฏผ๊ท ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ(๋ฌธ์ž์—ด) https://www.acmicpc.net/problem/9933 9933๋ฒˆ: ๋ฏผ๊ท ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฌธ์ œ ์ฐฝ์˜์ด๋Š” ๋ฏผ๊ท ์ด์˜ ์ปดํ“จํ„ฐ๋ฅผ ํ•ดํ‚นํ•ด ํ…์ŠคํŠธ ํŒŒ์ผ ํ•˜๋‚˜๋ฅผ ์ž์‹ ์˜ ๋ฉ”์ผ๋กœ ์ „์†กํ–ˆ๋‹ค. ํŒŒ์ผ์—๋Š” ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ ํ˜€์žˆ์—ˆ๊ณ , ์ด ์ค‘ ํ•˜๋‚˜๋Š” ๋ฏผ๊ท ์ด๊ฐ€ ์˜จ๋ผ์ธ ์ €์ง€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์ด๋‹ค. ํŒŒ์ผ์„ ์‚ดํŽด๋ณด๋˜ ์ฐฝ์˜์ด๋Š” ๋ชจ๋“  ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ํ™€์ˆ˜๋ผ๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„๋‚ด์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ธ์  ๊ฐ€ ๋ฏผ๊ท ์ด๊ฐ€ ์ด ๋ชฉ๋ก์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐํ–ˆ๋˜ ๊ฒƒ์„ ์ƒ๊ฐํ•ด๋ƒˆ๋‹ค. ๋ฏผ๊ท ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋ชฉ๋ก์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋’ค์ง‘์–ด์„œ ์“ด ๋ฌธ์ž์—ด๋„ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฏผ๊ท ์ด์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ www.acmicpc.net ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void main.. 2020. 3. 27.
[๋ฐฑ์ค€] 5567๋ฒˆ: ๊ฒฐํ˜ผ์‹(๊ทธ๋ž˜ํ”„, ๊ตฌํ˜„) https://www.acmicpc.net/problem/5567 5567๋ฒˆ: ๊ฒฐํ˜ผ์‹ ๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ์ž์‹ ์˜ ๊ฒฐํ˜ผ์‹์— ํ•™๊ต ๋™๊ธฐ ์ค‘ ์ž์‹ ์˜ ์นœ๊ตฌ์™€ ์นœ๊ตฌ์˜ ์นœ๊ตฌ๋ฅผ ์ดˆ๋Œ€ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ƒ๊ทผ์ด์˜ ๋™๊ธฐ๋Š” ๋ชจ๋‘ N๋ช…์ด๊ณ , ์ด ํ•™์ƒ๋“ค์˜ ํ•™๋ฒˆ์€ ๋ชจ๋‘ 1๋ถ€ํ„ฐ N๊นŒ์ง€์ด๋‹ค. ์ƒ๊ทผ์ด์˜ ํ•™๋ฒˆ์€ 1์ด๋‹ค. ์ƒ๊ทผ์ด๋Š” ๋™๊ธฐ๋“ค์˜ ์นœ๊ตฌ ๊ด€๊ณ„๋ฅผ ๋ชจ๋‘ ์กฐ์‚ฌํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฒฐํ˜ผ์‹์— ์ดˆ๋Œ€ํ•  ์‚ฌ๋žŒ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ƒ๊ทผ์ด์˜ ๋™๊ธฐ์˜ ์ˆ˜ n (2 ≤ n ≤ 500)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด m (1 ≤ m www.acmicpc.net ์ฝ”๋“œ import java.io.BufferedReader; import java.io.IOException; import java.io... 2020. 3. 26.
[Codeforces] 1167A: Telephone Number https://codeforces.com/problemset/problem/1167/A Problem - 1167A - Codeforces codeforces.com ์ฝ”๋“œ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int t = scan.nextInt(); for(int tc=0; tc=11) ? "YES" : "NO"; System.out.println(result); } scan.close(); } } ํ’€์ด ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ , Telephone Number๊ฐ€ ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ. Tele.. 2020. 3. 26.
Java ๊ด€๋ จ ๋ฉด์ ‘ ์ค€๋น„ 2 ์ž๋ฐ” ํŠน์ง• - JVM(Java Virtual Machine) JVM - ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉด์„œ ์ž๋ฐ” ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด ์ด์‹ ๊ฐ€๋Šฅํ•œ ์‹คํ–‰ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. โ— ์–ด๋Š ์šด์˜์ฒด์ œ ์ƒ์—์„œ๋„ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์šด์˜์ฒด์ œ์— ๋…๋ฆฝ์ ์ด๋‹ค. ์ด์‹์„ฑ์ด ๋†’๋‹ค. โ— GC(Garbage Collection)์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. โ— JVM์€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. OOP(Object-Oriented Programming) - ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์— ๋ฐ˜์˜ํ•œ ๊ฒƒ, ์ธ๊ฐ„์˜ ์‚ฌ๊ณ ์™€ ๋น„์Šทํ•œ ์ ‘๊ทผ. ๊ฐ์ฒด์™€ ๊ฐ์ฒด์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. โ— ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค. โ— ์ง๊ด€์ ์ธ ์ฝ”๋“œ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. โ— ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ํ–ฅ์ƒ๋œ๋‹ค. ๋‹คํ˜•์„ฑ ํ•˜๋‚˜์˜ ์ง€.. 2020. 3. 26.
Java ๊ด€๋ จ ๋ฉด์ ‘ ์ค€๋น„ 1 DataSource ์ˆœ์ˆ˜ jdbc๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผ์„ ํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค connection์„ ๋งบ๊ณ  ๋Š๋Š” ์ž‘์—…์„ ํ•œ๋‹ค. ์ด connection์„ ๋งบ๊ณ  ๋Š๋Š” ์ž‘์—…์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ connection์„ ์ƒ์„ฑํ•ด ๋‘๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋œ connection์„ ์ œ๊ณตํ•˜๊ณ  ๋Œ๋ ค๋ฐ›๋Š”๋‹ค. ์ด connection๋“ค์„ ๋ชจ์•„๋‘๋Š” ์žฅ์†Œ๋ฅผ connection pool์ด๋ผ ํ•˜๋ฉฐ, โ€‹Datasource๋Š” java ์—์„œ connection pool์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. โ€‹ โ€‹ โ€‹ JPA(Java Persistence API) ์ž๋ฐ” ํ”Œ๋žซํผ SE์™€ ์ž๋ฐ” ํ”Œ๋žซํผ EE๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ด€๋ฆฌ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฐ” API์ด๋‹ค. JPA๋ž€ DB ํ…Œ์ด๋ธ”๊ณผ.. 2020. 3. 26.
๋ฐ˜์‘ํ˜•