본문 바로가기

구현218

[백준] 16200번 - 해커톤 [Java] https://www.acmicpc.net/problem/16200 1.  아이디어 카운팅 배열을 활용해서 X명 이하로 팀을 구성해야 하는 사람들의 수를 인덱스에 맞춰서 넣어줬다. 이후 몫 연산으로 해당 그룹의 개수를 알아내고 나머지 인원은 더 많은 사람이 팀에 구성되도 되는 사람과 팀을 이루어줬다.2. 문제풀이 X명 이하로 팀을 이뤄야하는 사람 수가 N일 때 해당 인원수로 N/X의 팀을 구성할 수 있고 남은 인원이 있으면 X+1명 이하로 팀을 이뤄야하는 사람과 합쳐서 한 팀을 만드는 방식으로 구현했다. 이때 X+1명 이하로 팀을 이뤄야하는 사람 수가 이것 때문에 음수 처리가 될 수 있어서 음수인 사람 수는 다음 그룹에 넘기는 방식으로 구현했다.3. 코드 import java.io.*;import ja.. 2025. 1. 22.
[백준] 28094번 - 기말고사 작품 전시 [Java] https://www.acmicpc.net/problem/28094 1.  아이디어 T와 N을 작고 M은 큰 조건이다. 심사위원의 평가 개수가 작품이 최대 10개임에도 최대 30000가지이므로 작품의 순서가 중복되는 상황이 있다고 생각해서 이를 카운팅 배열로 한번에 기록했다. 이후 순열을 돌리며 각 조합에서 점수 합의 최댓값을 찾고 개수도 찾았다.2. 문제풀이 순열 메서드를 생성 후 순열이 생성되면 카운팅 배열을 통해 점수 합을 계산하는 걸 반복하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { private static int N; private static boolean[] visited; privat.. 2025. 1. 22.
[백준] 28113번 - 정보섬의 대중교통 [Java] https://www.acmicpc.net/problem/28113 1.  아이디어 버스를 탑승하는데 걸리는 시간은 A이고 지하철을 타는데 걸리는 시간은 지하철 역까지 가는데 걸리는 시간 N과 지하철이 오는데 걸리는 시간 B중 더 긴 시간이다.2. 문제풀이 Math.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)); StringTo.. 2025. 1. 22.
[백준] 16394번 - 홍익대학교 [Java] https://www.acmicpc.net/problem/16394 1.  아이디어 특정 년도와 개교 년도의 차로 개교 주년을 간단하게 알 수 있다.2. 문제풀이 문제 설명에 맞춰 Scanner를 활용한 입력과 System.out.println을 활용한 출력으로 구현했다.3. 코드 import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); System.out.println(N - 1946); }}4. 후기 2025. 1. 22.
[백준] 2506번 - 점수계산 [Java] https://www.acmicpc.net/problem/2506 1.  아이디어 연속된 문제는 1점씩 가중치가 계속 붙는 상황으로 점수들을 배열에 저장한 후 이전 원소가 0이 아니면 가중치를 주는 방식으로 해결할 수 있다.2. 문제풀이 배열에 일단 입력 값을 넣고 현재 문제가 맞은 문제면서 이전 문제도 맞은 문제면 이전 문제 점수 + 1을 하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader.. 2025. 1. 17.
[백준] 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.