Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

백준[Java] 3052번 나머지 (HashSet 사용) 본문

IT/Java[백준]

백준[Java] 3052번 나머지 (HashSet 사용)

빌드이너프 2023. 3. 1. 19:43

https://www.acmicpc.net/problem/3052

 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net

문제풀이 1

import java.util.Scanner;
public class _3052_1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int[] arr = new int[10];
        int count = 0;
        boolean bi;

        for (int i = 0; i < 10; i++) {
            arr[i] = sc.nextInt() % 42;
        }
        sc.close();

        for (int i = 0; i < 10; i++) {
            bi = false;
            for (int j = i+1; j < 10; j++) {
                if (arr[i] == arr[j]) {
                    bi = true;
                    break;
                }
            }
            if (bi == false)
                count++;
        }
        System.out.println(count);
    }
}

문제풀이 2

import java.util.Arrays;
import java.util.Scanner;

public class _3052_2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int arr[] = new int[10];
        int namugi[] = new int[10];
        int count = 1;

        for (int i = 0; i < 10; i++) {
            arr[i] = sc.nextInt();
            namugi[i] = arr[i] % 42;
        }
        sc.close();

        Arrays.sort(namugi);

        for (int j = 0; j < 10 - 1; j++)
            if (namugi[j] != namugi[j + 1])
                count++;

        System.out.println(count);
    }
}

문제풀이 3

import java.util.HashSet;
import java.util.Scanner;

public class _3052_3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        HashSet<Integer> namugi = new HashSet<Integer>();

        for (int i = 0; i < 10; i++) {
            namugi.add(sc.nextInt() % 42);
        }
        sc.close();
        System.out.println(namugi.size());
    }
}

문제풀이 4

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;

public class _3052_4 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        HashSet<Integer> namugi = new HashSet<Integer>();

        for (int i = 0; i < 10; i++) {
            namugi.add(Integer.parseInt(br.readLine()) % 42);
        }
        br.close();
        System.out.println(namugi.size());
    }
}

문제풀이 5

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class _3052_5 {
    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++) { // boolean 배열의 default 값은 false
            arr[Integer.parseInt(br.readLine()) % 42] = true;
        }
        br.close();

        int count = 0;
        for (boolean bi : arr) {
            if (bi) { // bi가 true 라면
                count++;
            }
        }

        System.out.println(count);

    }
}