[๋ฐฑ์ค€/Java] 1929 ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ(์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/1929๐Ÿ“ ํ’€์ด : ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒดimport java.io.*;public class Main { // M์ด์ƒ N์ดํ•˜์˜ ์†Œ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ ์ฒ˜๋ฆฌ */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] input = br.readLine().split(" "); int M = Integer.parseInt(input[0]); // ๋ฒ”์œ„์˜ ์‹œ์ž‘๊ฐ’ M ..
[๋ฐฑ์ค€/Java] 18110 solved.ac
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/18110๐Ÿ“ ํ’€์ด : ๋ฐฐ์—ดimport java.io.*;import java.util.*;public class Main { // ์‚ฌ์šฉ์ž๋“ค์ด ์–ด๋–ค ๋ฌธ์ œ์— ์ œ์ถœํ•œ ๋‚œ์ด๋„ ์˜๊ฒฌ ๋ชฉ๋ก์ด ์ฃผ์–ด์งˆ ๋•Œ, solved.ac๊ฐ€ ๊ฒฐ์ •ํ•œ ๋ฌธ์ œ์˜ ๋‚œ์ด๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ ์ฒ˜๋ฆฌโœจ */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); // ๋‚œ..
[๋ฐฑ์ค€/Java] 10866 ๋ฑ
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/10866๐Ÿ“ ํ’€์ด : ArrayDequeimport java.io.*;import java.util.*;public class Main { // ์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฑ(Deque)๋ฅผ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // ๋ช…๋ น์˜ ์ˆ˜ N (1 ≤ N ≤ 10,000) ..
[๋ฐฑ์ค€/Java] 10845 ํ
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/10845๐Ÿ“ ํ’€์ด : LinkedListimport java.io.*;import java.util.*;public class Main { // ์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ํ๋ฅผ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // ๋ช…๋ น์˜ ์ˆ˜ N (1 ≤ N ≤ 10,000) Queue q..
[๋ฐฑ์ค€/Java] 10816 ์ˆซ์ž ์นด๋“œ 2
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/10816๐ŸŽฏ ๋ฌธ์ œ ํ•ต์‹ฌ์ˆซ์ž ์นด๋“œ ์ตœ๋Œ€ ๊ฐœ์ˆ˜ : 500,000๊ฐœ์‹œ๊ฐ„์ œํ•œ : 1์ดˆ๐Ÿ“ ํ’€์ด : HashMapimport java.io.*;import java.util.HashMap;import java.util.Map;import java.util.StringTokenizer;public class Main { // M๊ฐœ์˜ ์ˆ˜์— ๋Œ€ํ•ด์„œ, ๊ฐ ์ˆ˜๊ฐ€ ์ ํžŒ ์ˆซ์ž ์นด๋“œ๋ฅผ ๋ช‡ ๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys..
[๋ฐฑ์ค€/Java] 10773 ์ œ๋กœ
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/10773 ๐Ÿ“ ํ’€์ด : Stackimport java.io.*;import java.util.Stack;public class Main { // ์žฌ๋ฏผ์ด๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ์ ์–ด ๋‚ธ ์ˆ˜์˜ ํ•ฉ ์ถœ๋ ฅ(2^31-1๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜) public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int K = Integer.parseInt(br.readLine()); // (1 ≤ K ≤ 100,000) ..
[๋ฐฑ์ค€/Java] 10828 ์Šคํƒ(Stack)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/10828 ๐Ÿ“ ํ’€์ด : Stackimport java.io.*;import java.util.Stack;public class Main { // ์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ์Šคํƒ์„ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // ๋ช…๋ น์˜ ์ˆ˜ N /* [2]..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌํ•˜๊ธฐ
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/118666๐Ÿ“ ํ’€์ด : ์ด์ฐจ์› ๋ฐฐ์—ด๊ณผ HashMap๊ฐ ์„ฑ๊ฒฉ ์œ ํ˜•์„ ์ด์ฐจ์› ๋ฐฐ์—ด(char[][])๋กœ ์ •์˜ํ•˜์—ฌ ๋Œ€์‘๋˜๋Š” ์„ฑ๊ฒฉ ์œ ํ˜• ์Œ(R/T, C/F, J/M, A/N)์„ ์ €์žฅํ•˜๊ณ , HashMap์„ ์‚ฌ์šฉํ•ด ๊ฐ ์œ ํ˜•์˜ ์ ์ˆ˜๋ฅผ ๋ˆ„์ ํ•œ ํ›„, ์ตœ์ข…์ ์œผ๋กœ ๊ฐ ์ง€ํ‘œ์—์„œ ๋†’์€ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ์œ ํ˜•์„ ์„ ํƒํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•˜์˜€๋‹ค.import java.util.HashMap;import java.util.Map;class Solution { // ์ฃผ์–ด์ง„ ์ง€ํ‘œ์™€ ์„ ํƒํ•œ ๋ฒˆํ˜ธ(1~7)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜ public String solution(String[] survey, int[] c..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ(๋งจํ•ดํŠผ ๊ฑฐ๋ฆฌ)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/67256๐Ÿ“ ํ’€์ด : ๋งจํ•ดํŠผ ๊ฑฐ๋ฆฌ ๊ตฌํ•˜๊ธฐ๊ฐ ์ˆซ์ž๋ฅผ 'ํ•˜๋‚˜์˜ ์ค„๋กœ ๋‚˜์—ด๋œ ์ˆซ์ž'์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๊ณ , 'ํ‚คํŒจ๋“œ์˜ ๊ทœ์น™'์„ ์ด์šฉํ•ด์„œ '๋งจํ•ดํŠผ ๊ฑฐ๋ฆฌ'๋ฅผ ๊ตฌํ•œ๋‹ค. ๋‘ ์ˆซ์ž ๊ฐ„์˜ ํ–‰(row) ์ฐจ์ด๋Š” (์ฐจ์ด / 3)์œผ๋กœ, ์—ด(column) ์ฐจ์ด๋Š” (์ฐจ์ด % 3)๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด 2์ฐจ์› ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„, ๊ฐ ์†๊ฐ€๋ฝ์ด ๋ชฉํ‘œ ์ˆซ์ž์— ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์šด์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.๋งจํ•ดํŠผ ๊ฑฐ๋ฆฌ(Manhattan Distance) :  ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ, ๊ฐ€๋กœ์™€ ์„ธ๋กœ์˜ ๊ฑฐ๋ฆฌ๋งŒ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•class Solution { // ์ˆœ์„œ๋Œ€๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋ˆ„๋ฅธ ์—„์ง€์†๊ฐ€๋ฝ์ด ์–ด๋А ์†์ธ์ง€ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ pu..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] 2016๋…„(Calendar, LocalDate)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/12901๐Ÿ“ ํ’€์ด 3 : LocalDate ํด๋ž˜์Šค`LocalDate.of(year, month, dayOfMonth)`โœจimport java.time.LocalDate;class Solution { // 2016๋…„ a์›” b์ผ์ด ๋ฌด์Šจ ์š”์ผ์ธ์ง€ ๋ฐ˜ํ™˜(SUN~SAT) public String solution(int a, int b) { /* ๋‚ ์งœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์š”์ผ ๋ฌธ์ž์—ด์˜ ์ฒซ 3๊ธ€์ž๋งŒ ์ถ”์ถœ */ return LocalDate.of(2016, a, b).getDayOfWeek().toString().substring(0, 3); }}๐Ÿ“ ํ’€์ด 2 : Calenda..
[๋ฐฑ์ค€/Java] 9012 ๊ด„ํ˜ธ(Stack)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/9012๐Ÿ“ ํ’€์ด : Stack import java.io.*;import java.util.Stack;public class Main { // ๊ฐ ์ค„๋งˆ๋‹ค ๊ด„ํ˜ธ๊ฐ€ ๊ท ํ˜•์„ ์ด๋ฃจ๊ณ  ์žˆ์œผ๋ฉด "yes"๋ฅผ, ์•„๋‹ˆ๋ฉด "no"๋ฅผ ์ถœ๋ ฅ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); /* [1] ์ž…๋ ฅ */ int T = Integer.parse..
[๋ฐฑ์ค€/Java] 4949 ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ(Stack, replaceAll())
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/4949๐Ÿ“ ํ’€์ด 2 : Stack (170ms)`Stack`์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Š” ๊ด„ํ˜ธ๋ฅผ ์ €์žฅํ•˜๊ณ , ๋‹ซ๋Š” ๊ด„ํ˜ธ๋ฅผ ๋งŒ๋‚˜๋ฉด ์Šคํƒ์˜ ๋งจ ์œ„ ํ•ญ๋ชฉ๊ณผ ์ง์„ ๋งž์ถฐ ๊ท ํ˜•์„ ํ™•์ธํ•œ๋‹ค.import java.io.*;import java.util.Stack;public class Main { // ๊ฐ ์ค„๋งˆ๋‹ค ํ•ด๋‹น ๋ฌธ์ž์—ด์ด ๊ท ํ˜•์„ ์ด๋ฃจ๊ณ  ์žˆ์œผ๋ฉด "yes"๋ฅผ, ์•„๋‹ˆ๋ฉด "no"๋ฅผ ์ถœ๋ ฅ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuil..
[๋ฐฑ์ค€/Java] 2839 ์„คํƒ• ๋ฐฐ๋‹ฌ('/', '%')
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/2839๐Ÿ“ ํ’€์ด : 5kg ๋ด‰์ง€ ์ตœ๋Œ€ ์‚ฌ์šฉ ํ›„, ๋‚จ์€ ๋ฌด๊ฒŒ์— ๋”ฐ๋ผ ์กฐ์ •import java.io.*;public class Main { // ์„คํƒ• Nkg ๋ฐฐ๋‹ฌ ์‹œ ๋ด‰์ง€(3/5kg)์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜ ์ถœ๋ ฅ(๋ถˆ๊ฐ€๋Šฅ ์‹œ -1) public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // ์„คํƒ• Nkg (3 ≤ N ≤ 5000) ..
[๋ฐฑ์ค€/Java] 2164 ์นด๋“œ2(LinkedList)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/2164๐Ÿ“ ํ’€์ด : LinkedListimport java.io.*;import java.util.LinkedList;import java.util.Queue;public class Main { // N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ œ์ผ ๋งˆ์ง€๋ง‰์— ๋‚จ๊ฒŒ ๋˜๋Š” ์นด๋“œ ๋ฒˆํ˜ธ ์ถœ๋ ฅ public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // ์นด..
[๋ฐฑ์ค€/Java] 1920 ์ˆ˜ ์ฐพ๊ธฐ(์ด์ง„ ํƒ์ƒ‰, Arrays.binarySearch())
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/1920๐ŸŽฏ ๋ฌธ์ œ ํ•ต์‹ฌ(์ •์ˆ˜ ๋ฒ”์œ„)์ •์ˆ˜ ๋ฒ”์œ„ : `-231` ~ `231-1` (์ค‘๋ณต ํ—ˆ์šฉ) ์‹œ๊ฐ„์ œํ•œ : 1์ดˆ๐Ÿ“ ํ’€์ด 2 : ๋ฐฐ์—ด ์ •๋ ฌ ํ›„ ์ด์ง„ ํƒ์ƒ‰(Arrays.binarySearch())`Arrays.sort()` ๋ฉ”์„œ๋“œ๋กœ ๋ฐฐ์—ด ์ •๋ ฌ ํ›„ `Arrays.binarySearch()` ๋ฉ”์„œ๋“œ๋กœ ์ด์ง„ํƒ์ƒ‰โญ์ด์ง„ํƒ์ƒ‰ : ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ ๋ฒ”์œ„๋ฅผ ๋ฐ˜์”ฉ ์ขํ˜€๊ฐ€๋ฉฐ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜(์‹œ๊ฐ„๋ณต์žก๋„ `logN`)import java.io.*;import java.util.Arrays;import java.util.StringTokenizer;public class Main // N๊ฐœ์˜ ์ •์ˆ˜ A[1], A[2], …, A[N]์ด ์ฃผ์–ด์ ธ ์žˆ์„ ๋•Œ, ์ด ์•ˆ์— X๋ผ๋Š”..
[๋ฐฑ์ค€/Java] 1018 ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ(2์ฐจ์› ๋ฐฐ์—ด, ๋น„ํŠธ XOR ์—ฐ์‚ฐ)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/1018๐Ÿ“ ํ’€์ด 2 : 2์ฐจ์› ๋ฐฐ์—ด์— ๋ฌธ์ž ๋ฐฐ์—ด ์ €์žฅ ํ›„ ์บ๋ฆญํ„ฐ ๋น„๊ต (108ms)`(i + j)`๊ฐ€ ์ง์ˆ˜์ธ์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ƒ‰์ƒ ๋น„๊ตimport java.io.*;import java.util.*;public class Main { // M×N ํฌ๊ธฐ์˜ ๋ณด๋“œ๋ฅผ ์ž˜๋ผ์„œ 8x8 ํฌ๊ธฐ์˜ ์ฒด์ŠคํŒ์œผ๋กœ ๋งŒ๋“ค ๋•Œ, ๋‹ค์‹œ ์น ํ•ด์•ผ ํ•˜๋Š” ์ •์‚ฌ๊ฐํ˜•์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜ ์ถœ๋ ฅ public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
[๋ฐฑ์ค€/Java] 11866 ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0(LinkedList, ์›ํ˜• ํ)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/11866๐Ÿ“ ํ’€์ด : ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(LinkedList)๋กœ ์›ํ˜• ํ(CircularQueue) ๊ตฌํ˜„ํ•ต์‹ฌ ์ฝ”๋“œ : `queue.offer(queue.poll())``offer()`์™€ `poll()` ๋ฉ”์„œ๋“œ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ํ์˜ ์•ž์—์„œ ์ œ๊ฑฐํ•œ ์š”์†Œ๋ฅผ ๋‹ค์‹œ ๋’ค๋กœ ๋ณด๋‚ด๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•จ์œผ๋กœ์จ, ํ๊ฐ€ ์›ํ˜•์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.import java.io.*;import java.util.*;import java.util.stream.*;public class Main { // (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด ์ถœ๋ ฅ(์›์—์„œ ์‚ฌ๋žŒ๋“ค์ด ์ œ๊ฑฐ๋˜๋Š” ์ˆœ์„œ) public static void main(String[] args) throws IOException..
[๋ฐฑ์ค€/Java] 11651 ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ 2(Comparator, ๋žŒ๋‹ค์‹)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/11651๐Ÿ“ ํ’€์ด : ์ด์ฐจ์› ๋ฐฐ์—ด ์ •๋ ฌ(๋žŒ๋‹ค์‹)ํ•ต์‹ฌ ์ฝ”๋“œ : `Arrays.sort(arrList, (a, b) -> a[1] != b[1] ? a[1] - b[1] : a[0] - b[0]);`import java.io.*;import java.util.*;public class Main { // 2์ฐจ์› ํ‰๋ฉด ์œ„์˜ ์  N๊ฐœ๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, y์ขŒํ‘œ -> x์ขŒํ‘œ ์ˆœ์„œ๋กœ ์ •๋ ฌ ํ›„ ์ถœ๋ ฅ public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ */ BufferedReader br = new BufferedReader(new InputStreamRead..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ํฐ์ผ“๋ชฌ(Stream.distinct())
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/1845๐Ÿ“ ํ’€์ด 3 : Stream.distinct()`Stream`์œผ๋กœ ๋ณ€ํ™˜ ํ›„ `distinct()` ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ๋‹ค.โญimport java.util.*;class Solution { // N๋งˆ๋ฆฌ ์ข…๋ฅ˜ ๋ฐฐ์—ด์ด ์ฃผ์–ด์งˆ ๋•Œ, N/2๋งˆ๋ฆฌ๋ฅผ ์„ ํƒํ•  ๊ฒฝ์šฐ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ข…๋ฅ˜ ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜ public int solution(int[] nums) { return Math.min( (int) Arrays.stream(nums).distinct().count(), nums.length / 2); // ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ์นด๋“œ ๋ญ‰์น˜(LinkedList(Queue))
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/159994๐Ÿ“ ํ’€์ด 2 : ArrayList๋ฆฌ์ŠคํŠธ๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด `get()`๊ณผ `remove()` ๋ฉ”์„œ๋“œ์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ `isEmpty()` ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์–ด์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์ธ์ง€ ๋จผ์ € ์ฒดํฌํ•œ๋‹ค.import java.util.*;class Solution { // ์˜๋‹จ์–ด ๋ฐฐ์—ด๊ณผ ์›ํ•˜๋Š” ๋‹จ์–ด ๋ฐฐ์—ด์ด ์ฃผ์–ด์งˆ ๋•Œ, ์˜๋‹จ์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๋‹จ์–ด ๋ฐฐ์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฐ˜ํ™˜ public String solution(String[] cards1, String[] cards2, String[] goal) { List list1 = new ArrayList(Arrays.as..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ์ถ”์–ต ์ ์ˆ˜(List.indexOf())
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/176963๐Ÿ“ ํ’€์ด 3 : Map + Stream`Stream.mapToInt()` ๋ฉ”์„œ๋“œ ์ด์šฉimport java.util.*;class Solution { // ๊ทธ๋ฆฌ์›Œํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ด๋ฆ„, ๊ทธ๋ฆฌ์›€ ์ ์ˆ˜, ์‚ฌ์ง„ ์† ์ด๋ฆ„์ด ์ฃผ์–ด์งˆ ๋•Œ, ์‚ฌ์ง„ ์ถ”์–ต ์ ์ˆ˜ ๋ฐ˜ํ™˜ public int[] solution(String[] name, int[] yearning, String[][] photo) { // ์ด๋ฆ„๊ณผ ๊ทธ๋ฆฌ์›€ ์ ์ˆ˜๋ฅผ ๋งคํ•‘ํ•˜์—ฌ Map ์ƒ์„ฑ Map map = new HashMap(); for (int i = 0; i Arrays.stream(nameArr) // ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ๋ช…์˜ˆ์˜ ์ „๋‹น (1)(PriorityQueue)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/138477๐Ÿ“ ํ’€์ด 3 : IntStream, ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•„์š”ํ•œ ๋ฒ”์œ„๋งŒ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ ํ›„, ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜์—ฌ ๋ช…์˜ˆ์˜ ์ „๋‹น ๋ชฉ๋ก ๋‚ด์˜ ์ตœํ•˜์œ„ ์ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.import java.util.*;import java.util.stream.*;class Solution { // ๋ช…์˜ˆ์˜ ์ „๋‹น ์ ์ˆ˜ ๊ฐœ์ˆ˜ k์™€ ์ ์ˆ˜๋ฐฐ์—ด score์ด ์ฃผ์–ด์งˆ ๋•Œ, ๋ช…์˜ˆ์˜ ์ „๋‹น์˜ ์ตœํ•˜์œ„ ์ ์ˆ˜ ๋ฐฐ์—ด ๋ฐ˜ํ™˜ public int[] solution(int k, int[] score) { Integer[] integerScore = Arrays.stream(score).boxed().toArray(Integer[]::n..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ์ฝœ๋ผ ๋ฌธ์ œ(์ด ๊ตํ™˜ ํšŸ์ˆ˜ (n - b) / (a - b))
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/132267๐Ÿ“ ํ’€์ด 3 : ์ด ๊ตํ™˜ ํšŸ์ˆ˜ * b๊ฐœ์ด ๊ตํ™˜ ํšŸ์ˆ˜ = `(n - b) / (a - b)`โญ`n - b` : ์‹ค์ œ ๊ตํ™˜์— ์‚ฌ์šฉ๋˜๋Š” ๋นˆ ๋ณ‘ ๊ฐœ์ˆ˜(๋งˆ์ง€๋ง‰์— ๋ฐ›๋Š” b๊ฐœ๋Š” ๊ตํ™˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ œ์™ธ)`a - b` : ๊ตํ™˜ ์‹œ ๊ฐ์†Œ๋˜๋Š” ๋นˆ ๋ณ‘ ๊ฐœ์ˆ˜class Solution { // '๋นˆ ๋ณ‘ a๊ฐœ -> ์ฝœ๋ผ b๊ฐœ'์ผ ๋•Œ, ๋นˆ ๋ณ‘ n๊ฐœ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ฝœ๋ผ์˜ ์ด ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜ public int solution(int a, int b, int n) { return ((n - b) / (a - b)) * b; // ์ด ๊ตํ™˜ ํšŸ์ˆ˜ * ๊ตํ™˜ ์‹œ ๋ฐ›๋Š” ๋ณ‘ ๊ฐœ์ˆ˜ }}๐Ÿ“ ํ’€์ด 2 ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] [1์ฐจ] ๋น„๋ฐ€์ง€๋„(๋น„ํŠธ OR ์—ฐ์‚ฐ |)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/17681 (๋ฌธ์ œํ•ด์„ค)๐Ÿ“ ํ’€์ด 2 : ๋น„ํŠธ OR ์—ฐ์‚ฐ(|) + replaceAll()`x | y` : ์ •์ˆ˜ x์™€ y๋ฅผ ๋น„ํŠธ ๋‹จ์œ„๋กœ `OR` ์—ฐ์‚ฐโญex. `Integer.toBinaryString(9 | 7)` >  `1001 | 0111` > `1111` `String.format` : ๋ฏธ๋ฆฌ ์ •์˜๋œ ํ˜•์‹์— ๋งž์ถฐ ๋ฌธ์ž์—ด ์ƒ์„ฑex. `String.format("%04d", 42) = "0042"`, `String.format("%4s", "42") = "  42"`class Solution { // ์ง€๋„์˜ ํ•œ ๋ณ€ ํฌ๊ธฐ n ๊ณผ ์ง€๋„ 1 ๋ฐฐ์—ด, ์ง€๋„ 2 ๋ฐฐ์—ด์ด ์ฃผ์–ด์งˆ ๋•Œ, ์ „์ฒด์ง€๋„๋ฅผ ํ•ด๋…ํ•˜์—ฌ '#', ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ๋ฌธ์ž์—ด ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ธฐ((a.charAt(n) + a).compareTo())
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/12915๐Ÿ“ ํ’€์ด 2 : (a.charAt(n) + a).compareTo()`a.charAt(n) + a`์™€ `b.charAt(n) + b`๋ฅผ ๋น„๊ตํ•œ๋‹ค.๋ฌธ์ž์—ด ์•ž์— n๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ๋”ํ•ด์คŒ์œผ๋กœ์จ, n๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋จผ์ € ์ •๋ ฌํ•˜๊ฒŒ ํ•œ๋‹ค.โญimport java.util.Arrays;class Solution { // strings๋ฅผ ๊ฐ ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค n๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ public String[] solution(String[] strings, int n) { Arrays.sort(strings, (a, b) -> (a.charAt(n) + a).compar..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ํ‘ธ๋“œ ํŒŒ์ดํŠธ ๋Œ€ํšŒ(StringBuilder.reverse())
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/134240๐Ÿ“ ํ’€์ด 3 : StringBuilder`repeat()`, `reverse()` ์ด์šฉโญclass Solution { // ์Œ์‹์˜ ์–‘์ด ์นผ๋กœ๋ฆฌ๊ฐ€ ์ ์€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์Œ์‹์˜ ๋ฐฐ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜ public String solution(int[] food) { StringBuilder sb = new StringBuilder(); for (int i = 1; i ๐Ÿ“ ํ’€์ด 2 : ๋ฌธ์ž์—ด`str = i + str + i;`class Solution { // ์Œ์‹์˜ ์–‘์ด ์นผ๋กœ๋ฆฌ๊ฐ€ ์ ์€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์Œ์‹์˜ ๋ฐฐ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] K๋ฒˆ์งธ์ˆ˜(Stream)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/42748๐Ÿ“ ํ’€์ด 2 : Stream`Stream` + `Arrays.copyOfRange()`โญimport java.util.Arrays;class Solution { // array์˜ i๋ฒˆ์งธ ์ˆซ์ž๋ถ€ํ„ฐ j๋ฒˆ์งธ ์ˆซ์ž๊นŒ์ง€ ์ž๋ฅด๊ณ  ์ •๋ ฌํ–ˆ์„ ๋•Œ, k๋ฒˆ์งธ์— ์žˆ๋Š” ์ˆ˜ ๋ฐ˜ํ™˜ public int[] solution(int[] array, int[][] commands) { return Arrays.stream(commands) .mapToInt(command -> Arrays.stream(Arrays.copyOfRange(..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ๋‘ ๊ฐœ ๋ฝ‘์•„์„œ ๋”ํ•˜๊ธฐ(TreeSet)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
https://school.programmers.co.kr/learn/courses/30/lessons/68644๐Ÿ“ ํ’€์ด : TreeSet์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ , ์ž๋™์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜๋Š” TreeSet ์ด์šฉโญimport java.util.*;class Solution { // numbers ์›์†Œ ์ค‘ ๋‘ ๊ฐœ๋ฅผ ๋”ํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ•˜๊ณ , ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ public int[] solution(int[] numbers) { // ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ , ์ž๋™์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜๋Š” Set ์ƒ์„ฑ Set set = new TreeSet(); // numbers ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์กฐํ•ฉ์— ๋Œ€ํ•ด ํ•ฉ ๊ณ„์‚ฐ for (int i = 0; ..
[๋ฐฑ์ค€/Java] 11650 ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ(Comparator)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/11650๐Ÿ“ ํ’€์ด 3 : ์ด์ฐจ์› ๋ฐฐ์—ด ์ •๋ ฌ(thenComparing())`Comparator` ์ธํ„ฐํŽ˜์ด์Šค์˜ `comparing()`, `thenComparing()` ๋ฉ”์„œ๋“œ ์‚ฌ์šฉโญimport java.io.*;import java.util.*;public class Main { // 2์ฐจ์› ํ‰๋ฉด ์œ„์˜ ์  N๊ฐœ๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, x์ขŒํ‘œ -> y์ขŒํ‘œ ์ˆœ์„œ๋กœ ์ •๋ ฌ ํ›„ ์ถœ๋ ฅ public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ */ BufferedReader br = new BufferedReader(new InputStreamReader(System..
[๋ฐฑ์ค€/Java] 10814 ๋‚˜์ด์ˆœ ์ •๋ ฌ(StringBuilder ๋ฐฐ์—ด)
ยท
๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด/๋ฐฑ์ค€
https://www.acmicpc.net/problem/10814๐Ÿ“ ํ’€์ด 2 - StringBuilder[201]๋‚˜์ด๋ฅผ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉํ•˜๋Š” StringBuilder ๋ฐฐ์—ด ์ƒ์„ฑโญimport java.io.*;public class Main { // ํšŒ์›์˜ ๋‚˜์ด์™€ ์ด๋ฆ„์ด ๊ฐ€์ž…์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋‚˜์ด -> ๊ฐ€์ž…์ˆœ์„œ ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ›„ ์ถœ๋ ฅ public static void main(String[] args) throws IOException { /* [1] ์ž…๋ ฅ */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine..
yewon31
'๐ŸŒท์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก