Programming/BaekJoon
백준 3052번 나머지
helloworld:
2021. 7. 16. 13:01
처음 풀이 - Map
public class 나머지 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int[] arr = new int[10];
for(int i = 0; i < 10; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Map<Integer, Integer> m = new HashMap<>();
int result = 0;
for(int n : arr) {
m.put(n % 42,1);
}
for(Map.Entry<Integer, Integer> entry : m.entrySet()) {
result += entry.getValue();
}
br.close();
bw.write(result + "");
bw.flush();
bw.close();
}
}
두번째 풀이 - Set
public class 나머지2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Set<Integer> s = new HashSet<>();
for(int i = 0; i < 10; i++) {
s.add(Integer.parseInt(br.readLine())%42);
}
bw.write(s.size()+"");
bw.flush();
bw.close();
br.close();
}
}
세번째 풀이 - 배열
public class 나머지3 {
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 result = 0;
for(int n : arr) {
if(n == 1) {
result++;
}
}
System.out.println(result);
}
}