문제
각 카드 세트는 1번 카드부터 N번 카드, 1번 카드부터 M번 카드로 구성되어 있다.
N번 카드와 M번 카드를 각 카드를 한장 씩 골라 두 카드의 합을 구한다.
각 카드 세트에서 카드를 한 장씩 골라서 카드에 적힌 숫자를 합한 결과 중, 등장할 확률이 가장 높은 숫자는 어떤 숫자인지 구하라.
풀이방법
완전탐색으로 N과 M카드로 나올 수 있는 모든 값을 구한다.
이 때, N + M + 1 크기의 배열을 만들어 합과 일치하는 인덱스의 값을 계속해서 증가시킨다.
배열의 각 원소가 최댓값인 인덱스를 찾는다.
소스코드
package samsung;
import java.util.*;
public class s_7102 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
int n = sc.nextInt();
int m = sc.nextInt();
int[] a = new int[n+m+1];
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
a[i+j]++;
}
}
int max = 0;
for(int i = 2; i <= m+n; i++) {
max = Math.max(a[i], max);
}
System.out.print("#" + t + " ");
for(int i = 2; i <= m+n; i++) {
if(a[i] == max)
System.out.print(i + " ");
}
System.out.println();
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 4371. 항구에 들어오는 배 (0) | 2020.02.24 |
---|---|
[SWEA] 2817. 부분 수열의 합 (0) | 2020.02.23 |
[SWEA] 7087. 문제 제목 붙이기 (0) | 2020.02.23 |
[SWEA] 6913. 동철이의 프로그래밍 대회 (0) | 2020.02.23 |
[SWEA] 6730. 장애물 경주 난이도 (0) | 2020.02.23 |
댓글