문제 : https://www.acmicpc.net/problem/10570
10570번: Favorite Number
각 테스트마다 쪽지에서 가장 많이 선택된 수를 출력하시오. ( 단 , 가장 많이 선택된 수가 여러개라면 그 중 가장 작은 수를 출력하라 )
www.acmicpc.net
문제 요약 : 가장 많이 선택된 수 출력
| 입력 | 출력 |
| 1 ≤ N(테스트 수) ≤ 100 1 ≤ V(쪽지 개수) ≤ 1000 1 ≤ S(적힌 수) ≤ 1000 |
가장 많이 선택된 수 출력 (여러개 일 경우 그 중 가장 작은 수 출력) |
JAVA
소스코드 : https://github.com/cbkpar/BOJ/blob/main/boj_10570.java
| 채점 번호 | 아이디 | 문제 번호 | 결과 | 메모리 | 시간 | 언어 | 코드 길이 |
| 30899061 | cbkpar | 10570 | 맞았습니다!! | 20664KB | 240ms | Java 11 | 634B |
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int t,n,m,s,i;
t = Integer.parseInt(br.readLine());
while(t-->0) {
n = Integer.parseInt(br.readLine());
int[] arr = new int[1001];
while(n-->0) arr[Integer.parseInt(br.readLine())]++;
s = m = 0;
for(i=1;i<1001;i++) if(arr[i]>m) {
m = arr[i];
s = i;
}
sb.append(s+"\n");
}
System.out.println(sb);
}
}
해당 쪽지에 적힌 수가 1000으로 매우 작은 수 이므로
배열을 이용해 쪽지에 적힌 숫자의 번호에 해당하는 배열의 값을 1씩 증가시켜준다.
이 과정을 마치고 해당 배열의 최댓값을 가지는 번호를 출력한다.
'백준온라인' 카테고리의 다른 글
| [백준온라인] 3181번 줄임말 만들기 (0) | 2021.07.19 |
|---|---|
| [백준온라인] 11383번 뚊 (0) | 2021.07.18 |
| [백준온라인] 5671번 호텔 방 번호 (0) | 2021.07.16 |
| [백준온라인] 2697번 다음수 구하기 (0) | 2021.07.15 |
| [백준온라인] 12760번 최후의 승자는 누구? (0) | 2021.07.14 |