링크를 클릭하면 해당 문제로 이동합니다.
1. 접근하기
정수 10개를 입력 받고 42로 나눈 나머지들을 새로운 배열에 담은 뒤, 중복된 값을 제거하고 후에
배열의 길이를 구해주면 답이 되겠다고 생각했다.
TO-DO |
1) 정수 10개를 담을 배열을 준비한다. |
2) 배열의 원소들을 42로 나눈 나머지 값들을 새로운 배열에 담는다. |
3) 단, 나머지 값이 같은 원소들은 넣지 않는다. |
2. 코드
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
int count = 0;
int[] iArr = new int[10];
for (int i = 0; i < iArr.length; i++) {
iArr[i] = scanner.nextInt();
}
List<Integer> iList = new ArrayList<Integer>();
for (int i : iArr) {
if (!iList.contains(i % 42)) {
iList.add(i % 42);
}
}
System.out.println(iList.size());
}
}
필자는 42로 나눈 나머지 값들을 ArrayList 객체에 담기로 했다.
단, ArrayList 안에 중복된 값이 있으면 넣지 않도록 조건문을 걸어주고
size()를 통해 서로 다른 나머지가 몇 개 존재하는지 출력하였다.
3. 결과
'알고리즘 > 백준(JAVA)' 카테고리의 다른 글
[JAVA-1654] 랜선 자르기(결정 알고리즘) (1) | 2023.10.27 |
---|---|
[JAVA-1929] 소수 구하기 - 에라토스테네스의 체 (0) | 2023.08.30 |
[JAVA-2753] 윤년 (0) | 2021.12.07 |
[JAVA-9498] 시험 성적 (0) | 2021.12.07 |
[JAVA-1330] 두 수 비교하기 (0) | 2021.12.07 |
댓글