jeongwon
[백준 JAVA] 3052번 - 나머지 본문
결국 풀지 못한 문제이다.

참고 답안 1)
package practice;
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));
boolean[] arr = new boolean[42];
for(int i=0; i<10; i++)
arr[(Integer.parseInt(br.readLine()))%42] = true ;
//***나머지 자체를 index로 삼아 중복 문제 해결
int count = 0;
for(boolean i : arr)
if(i==true) count++;
System.out.println(count);
}
}
참고 답안 2)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
HashSet<Integer> hs = new HashSet<>();//중복을 허용하지 않는 HashSet
for(int i=0; i<10; i++)
hs.add(Integer.parseInt(br.readLine())%42);
System.out.println(hs.size());
System.out.println(hs.toString());
//개인적으로 출력해 보았다. [84, 420, 840, 42, 252, 126] - 예제2, 중복값 84 1개
}
}
여러 개의 반복문과 조건문을 썼다 지웠지만.. boolean 배열은 생각지도 못했다.
추가로 HashSet의 편리성을 이번 기회에 절감했다.
답안 출처 : https://st-lab.tistory.com/46
'오늘의 문제' 카테고리의 다른 글
| [백준 JAVA] 8958번 - OX 퀴즈 (0) | 2022.05.28 |
|---|---|
| [백준 JAVA] 1546번 - 평균 (0) | 2022.05.27 |
| [백준 JAVA] 2577번 - 숫자의 개수 (0) | 2022.05.26 |
| [백준 JAVA] 2562번 - 최댓값 (0) | 2022.05.25 |
| [백준 JAVA] 10818번 - 최소, 최대 (0) | 2022.05.25 |