응애개발자
article thumbnail
[Java] 백준 18110번 : solved.ac
코딩테스트/백준 2024. 5. 10. 15:45

문제https://www.acmicpc.net/problem/18110 접근 방법N이 주어졌을때 30%의 절사평균을 하여 상위 15% 하위 15%를 제외한다.따라서 배열을 정렬하여 Math.round를 통해 반올림된 인원을 제외한 나머지를 반복문을 돌며 더해준다.더하고 난 뒤 평균으로 나눌때에도 첫째자리 반올림을 통해 답을 구하는 문제이다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedRea..

article thumbnail
[Java] 백준 15829번 : Hashing
코딩테스트/백준 2024. 5. 10. 15:11

문제https://www.acmicpc.net/problem/15829  접근 방법해시값이 어떻게 나오는지 원리에 대해 설명해주고 그것을 구현한 문제이다.문자열이 들어오면 일단 각 문자를 int로 변환하고 1, 31, 31^2, 31^3 순으로 곱하면 된다.하지만 여기서 주의할 점은 값이 long범위를 초과할수도 있으니 1234567891로 나누는것에 유의하자.또한 마지막 값인 sum값도 1234567891로 나누어 떨어질수 있으므로 한번 더 나누어 주자. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static Stri..

article thumbnail
[Java] 백준 11866번 : 요세푸스 문제 0
코딩테스트/백준 2024. 5. 9. 22:39

문제https://www.acmicpc.net/problem/11866 접근 방법N번까지 사람이 있고 돌아가며 K번째가 됐을때 봅는 사람을 순열로 나타낸다.따라서 큐에 넣고 K번째가 됐을때 뽑는것으로 문제를 푼다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; ..

article thumbnail
[Java] 백준 11651번 : 좌표 정렬하기 2
코딩테스트/백준 2024. 5. 9. 20:53

문제https://www.acmicpc.net/problem/11651  접근 방법이것도 https://eungae-d.tistory.com/128 이 문제와 같은 좌표 정렬하기 문제이다.하지만 이번에는 Comparator가 아닌 클래스의 기본 정렬 방식인 Comparable을 사용해보았다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.PriorityQueue;import java.util.StringTokenizer;public class Main { static class Node implements Comparable{ int x; ..

article thumbnail
[Java] 백준 11650번 : 좌표 정렬하기
코딩테스트/백준 2024. 5. 9. 20:43

문제https://www.acmicpc.net/problem/11650 접근 방법x좌표랑 y좌표를 순서대로 정렬한다음 출력하는 문제이다.따라서 Comparable, Comparator 두 가지 방법이 있지만 일반적으로 좌표를 정렬할때 기준이 없기 때문에 Comparator로 구현하는것이 낫겠다고 판단하였다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.Comparator;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static Bu..

article thumbnail
[Java] 백준 11050번 : 이항 계수 1
코딩테스트/백준 2024. 5. 9. 20:30

문제https://www.acmicpc.net/problem/11050 접근 방법이항계수를 구하는 문제이다.N ! / (N-K)! * K!를 구하는 문제이다. N 이 5 K 가 2일때 5 ! /( 5-2) ! * 2!  이므로 5 *4 / 2 * 1 이 된다.따라서 다음과 같은 식으로 표현이 가능하다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; ..

article thumbnail
[Java] 백준 10989번 : 수 정렬하기 3
코딩테스트/백준 2024. 5. 9. 20:16

문제https://www.acmicpc.net/problem/10989 접근 방법N개의 수가 주어졌을 때, 오름차순하는 가장 쉬운 방법은 Arrays.sort()를 이용하는 방법이다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; private static int N; ..

article thumbnail
[Java] 백준 10816번 : 숫자 카드 2
코딩테스트/백준 2024. 5. 7. 12:48

문제https://www.acmicpc.net/problem/10816 접근 방법N개의 카드를 받고, M개의 카드랑 겹치는카드가 몇장있는지 구하는 문제입니다.범위는 50만 이므로 완전탐색(O^2)이 불가능 하다고 생각했습니다.따라서 이분탐색을 생각하였고, 겹치는 범위중 왼쪽 인덱스와 오른쪽 인덱스를 구해서 차이를 구해주면 됩니다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { private static BufferedReader br; private static StringBuilder sb..

article thumbnail
[Java] 백준 10773번 : 제로
코딩테스트/백준 2024. 5. 7. 11:22

문제https://www.acmicpc.net/problem/10773 접근 방법재현이는 재민이가 잘못된 수를 외칠때마다 0을 외쳐서 가장 최근에 쓴 수를 지우는 문제입니다.따라서 스택에 넣고 0을 외칠때마다 스택에서 pop하여 없애줍니다.또한 스택에 쌓여있는 것들을 누적하여 sum값을 구하면 됩니다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private sta..

article thumbnail
[Java] 백준 10814번 : 나이순 정렬
코딩테스트/백준 2024. 5. 7. 11:05

문제https://www.acmicpc.net/problem/10814 접근 방법회원을 나이순으로 정렬하면 되는 문제입니다.Compable과 Comparator중 고민을 했었지만 나이순으로 정렬하는 것은 Person을 정렬할때 웬만하면 나이순으로 정렬한다는 것을 생각하여 Comparable을 구현했습니다.하지만 정렬기준이 특별하거나, 정렬을 여러 배열에서 해야 한다면 Comparator로 구현할 것입니다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.StringTokenizer;public class Mai..