알고리즘 풀이
[복습][백준]3052번: 나머지 - java 풀이
코디드
2023. 6. 15. 11:14
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<Integer>();
for(int i=0; i<10; i++) {
int num = Integer.parseInt(br.readLine());
hs.add(num%42);
}
System.out.println(hs.size());
}
}
hashset을 통해 중복 제거를 하는 방법은 생각했는데 막상 이전 문제처럼 배열에 넣는건 생각하지 못했다.
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));
int arr[] = new int[42];
for(int i=0; i<10; i++) {
arr[Integer.parseInt(br.readLine())%42]=1;
}
int cnt=0;
for(int i=0; i<42; i++) {
if(arr[i]==1) {
cnt++;
}
}
System.out.println(cnt);
}
}
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));
int arr[] = new int[42];
for(int i=0; i<10; i++) {
arr[Integer.parseInt(br.readLine())%42]=1;
}
int cnt=0;
for(int k : arr) {
if(k==1) {
cnt++;
}
}
System.out.println(cnt);
}
}
배열로 해결한 방법이다. 둘다 같은 풀이 방법이고 아랫부분은 확장 for문을 사용했다.