본문 바로가기

코딩테스트 준비625

[백준] 10833번 - 사과 [Java] https://www.acmicpc.net/problem/10833 1.  아이디어 모듈러 연산을 활용하면 간단하게 해결할 수 있다.2. 문제풀이 각 학교에서 똑같은 사과를 나눠주고 남은 사과가 최소가 되게 하는 문제로 사과 개수를 학생 수로 나눈 나머지를 구하는 모듈러 연산을 활용해서 반복적으로 더하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Stri.. 2025. 1. 17.
[백준] 2455번 - 지능형 기차 [Java] https://www.acmicpc.net/problem/2455 1.  아이디어 for문을 활용하면 간단하게 해결할 수 있다.2. 문제풀이 현재 기차에 있는 사람을 num 변수에 가장 많은 사람이 있었던 순간을 max에 저장하고 반복문으로 갱신하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int num .. 2025. 1. 17.
[백준] 10996번 - 별 찍기 - 21 [Java] https://www.acmicpc.net/problem/10996 1.  아이디어 for문을 활용하면 간단하게 출력할 수 있다.2. 문제풀이 모듈러 연산으로 별이 찍힐 자리와 공백이 찍힐 자리를 구분할 수 있는 점을 활용했고 StringBuilder를 활용해 한번에 출력하는 방식으로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(.. 2025. 1. 17.
[백준] 10995번 - 별 찍기 - 20 [Java] https://www.acmicpc.net/problem/10995 1.  아이디어 for문을 활용하면 간단하게 출력할 수 있다.2. 문제풀이 모듈러 연산으로 별이 찍힐 자리와 공백이 찍힐 자리를 구분할 수 있는 점을 활용했고 StringBuilder를 활용해 한번에 출력하는 방식으로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(.. 2025. 1. 17.
[백준] 10991번 - 별 찍기 - 16 [Java] https://www.acmicpc.net/problem/10991 1.  아이디어 for문을 활용하면 간단하게 출력할 수 있다.2. 문제풀이 StringBuilder를 활용해 한번에 출력하는 방식으로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); Str.. 2025. 1. 17.
[백준] 10990번 - 별 찍기 - 15 [Java] https://www.acmicpc.net/problem/10990 1.  아이디어 for문을 활용하면 간단하게 출력할 수 있다.2. 문제풀이 StringBuilder를 활용해 한번에 출력하는 방식으로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); Str.. 2025. 1. 17.
[백준] 2523번 - 별 찍기 - 13 [Java] https://www.acmicpc.net/problem/2523 1.  아이디어 for문을 활용하면 간단하게 출력할 수 있다.2. 문제풀이 별의 출력 개수를 조절하기 위해 pivot 변수를 사용했고 StringBuilder를 활용해 한번에 출력하는 방식으로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStre.. 2025. 1. 17.
[백준] 2522번 - 별 찍기 - 12 [Java] https://www.acmicpc.net/problem/2522 1.  아이디어 for문을 활용하면 간단하게 출력할 수 있다.2. 문제풀이 별과 공백의 출력 개수를 조절하기 위해 pivot 변수를 사용했고 StringBuilder를 활용해 한번에 출력하는 방식으로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new Output.. 2025. 1. 17.
[백준] 2003번 - 수들의 합 2 [Java] https://www.acmicpc.net/problem/2003 1.  아이디어 누적합과 브루트포스 알고리즘을 통한 방법과 투 포인터 알고리즘을 활용한 방법으로 해결할 수 있었다.2. 문제풀이 - 누적합 + 브루트포스 알고리즘주어진 문제가 수열에서 특정 구간의 합이 M이 되는 경우의 수를 구하는 문제이므로 누적합 배열을 미리 만든 후 2중 for문을 활용해 누적합 배열에서 두 원소의 차를 계산하는 방식으로 특정 구간의 합을 간단하게 구할 수 있다. - 투 포인터 알고리즘주어진 수열이 자연수로만 이루어진 수열이어서 두 개의 포인터를 앞쪽에서 출발시켜 두 포인터의 위치를 합을 구할 구간이라 생각하면 합을 줄이기 위해서는 왼쪽 포인터를, 합을 늘리기 위해서는 오른쪽 포인터를 오른쪽으로 이동시키는 것으로 볼 .. 2025. 1. 17.
[백준] 2631번 - 줄세우기 [Java] https://www.acmicpc.net/problem/2631 1.  아이디어 옮겨야하는 아이들의 수의 최솟값은 순서대로 있는 아이들의 번호에서 오름차순에 해당하지 않는 아이들만 옮기면 된다. 이때 오름차순은 가장 긴 오름차순에 해당하며 이는 LIS 알고리즘으로 구할 수 있다.2. 문제풀이 N이 최대 200이어서 다이나믹 프로그래밍을 활용한 LIS 알고리즘으로 구현했다. LIS의 길이를 구한 후 처음 아이들의 수에서 빼주면 옮겨야 하는 아이들의 수를 구할 수 있다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { Bu.. 2025. 1. 17.
[백준] 2914번 - 저작권 [Java] https://www.acmicpc.net/problem/2914 1.  아이디어 평균은 올림으로 계산되므로 멜로디의 개수의 최솟값은 A * I - (A - 1)로 간단하게 구할 수 있다.2. 문제풀이 아이디어 그대로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); .. 2025. 1. 17.
[백준] 2884번 - 알람 시계 [Java] https://www.acmicpc.net/problem/2884 1.  아이디어 몫과 나머지 연산으로 시각을 알아낼 수 있다.2. 문제풀이 현재 시각에서 45분 전의 시각을 구하기 위해 현재 시각의 시를 -1 하고 분을 15하는 방식으로 시각을 바꿨다. 이때 분이 60을 넘어가면 안되므로 60으로 나눈 나머지를 분으로 몫을 시로 넘겨줬고 시는 0부터 24 사이의 수여야해서 24를 더하고 24로 나눈 나머지를 사용하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br .. 2025. 1. 17.