본문 바로가기

자바54

[정렬] 백준 9076번 점수 집계 java(자바) https://www.acmicpc.net/problem/9076 9076번: 점수 집계 입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 다섯 심판이 준 점수 다섯 개의 정수 Ni(1 ≤ Ni ≤ 10, i = 1, 2, ..., 5)가 하나의 공백을 사이에 두고 www.acmicpc.net 문제 한국 체조협회에서는 심판의 오심을 막기 위하여 점수 집계 시스템을 고치기로 하였다. 이전에는 5명의 심판이 1점부터 10점까지 정수의 점수를 주면 최고점과 최저점을 하나씩 제외한 점수의 합을 총점으로 하였다. 이를 보완하기 위해서 최고점과 최저점을 뺀 나머지 3명 점수의 최고점과 최저점의 차이가 4점 이상 나게 되면 점수 조정을 거쳐서 다시 점수를 매기려.. 2023. 1. 3.
[정렬] 백준 23278번 영화 평가 java(자바) https://www.acmicpc.net/problem/23278 23278번: 영화 평가 스타트링크에는 영화 감상 동아리가 있다. 영화 동아리에는 총 N명의 구성원이 있고, 매주 모여서 영화 한 편을 본다. 영화를 본 뒤, 각 사람은 0보다 크거나 같고, 100보다 작거나 같은 정수로 영 www.acmicpc.net 문제 스타트링크에는 영화 감상 동아리가 있다. 영화 동아리에는 총 N명의 구성원이 있고, 매주 모여서 영화 한 편을 본다. 영화를 본 뒤, 각 사람은 0보다 크거나 같고, 100보다 작거나 같은 정수로 영화를 평가한다. 모든 구성원이 영화 평가를 마치면 동아리장은 최종 점수를 계산한다. 최종 평점은 가장 낮은 평가 L개와 가장 높은 평가 H개를 뺀 나머지 점수의 평균이다. 영화 감상 동아.. 2023. 1. 2.
[DFS,BFS] 백준 10451번 순열 사이클 java https://www.acmicpc.net/problem/104518 10451번: 순열 사이클 1부터 N까지 정수 N개로 이루어진 순열을 나타내는 방법은 여러 가지가 있다. 예를 들어, 8개의 수로 이루어진 순열 (3, 2, 7, 8, 1, 4, 5, 6)을 배열을 이용해 표현하면 \(\begin{pmatrix} 1 & 2 &3&4&5&6&7&8 \\ 3 www.acmicpc.net 순열을 배열을 이용하여 표현한후 이때 윗줄의 노드가 아랫줄의 노드방향으로 간선이 그려져서 만들어지는 사이클 개수를 구하는 문제이다. 예를 들어서 순열을 위와 같은 배열로 표현하면 1에서 3으로 향하는 간선 2에서 2로 향하는 간선 3에서 7로 향하는 간선등이 그려져서 위와 같은 그래프로 그려질 것이다. 소스코드 import.. 2022. 11. 7.
[완전탐색] 백준 14889번 스타트와 링크 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net Math.abs(a) 절댓값 구하는 메소드 Math.min(a,b) 최솟값 구하는 메소드 dfs dfs로 팀구성 diff 점수차 계산 메소드 import java.util.*; public class No14889 { static int N; static int[][] arr; static int min = Integer.MAX_VALUE; static boolean[] check; public static void .. 2022. 10. 13.
[완전탐색] 백준 2503번 숫자야구 https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 이문제를 풀려면 각 자릿수의 값을 비교해가면서 풀어야 하는데 1. 나눗셈으로 각 자릿수 숫자 찾아서 비교하기 2. 문자열로 바꿔서 비교하기 이렇게 두개로 나뉘는거 같다 나는 첫번째 방법으로 했는데 다풀고 나니 뭔가 2번이 더 간단했을 것 같은 느낌이 조금 든다. 각 자리에 1~9의 숫자가 곂치지 않게 나오기 때문에 123~987의 영역을 탐색해야 한다. 그리고 123~987영역에는 0이 들어간 값.. 2022. 10. 6.
[완전탐색] 백준 2231번 분해합 쉬운 문제여서 처음 써보는 메소드 같은건 없었다. 가장 작은 생성자를 구해야 하는데 처음에 실수로 가장 큰 생성자를 구해 버렸다. 문제를 잘 읽어야겠다 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int result = 0; for(int i = 0; i < N; i++){ int sum = i; int a = i; while(a != 0){ //각 자리수 더하기 sum += a % 10; a /= 10; } if(sum == N){ result = i; break; } } System.out.. 2022. 10. 6.