-
백준 3052번 나머지Programming/BaekJoon 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); } }
'Programming > BaekJoon' 카테고리의 다른 글
백준 11654번 아스키코드 (0) 2021.08.20 백준 1546번 평균 (0) 2021.08.11 백준 2577번 숫자의 개수 (0) 2021.07.16 백준 2562번 최대값 (0) 2021.07.16 백준 10818번 최소, 최대 (0) 2021.07.16