Algorithm/BOJ(Baekjoon Online Judge)

[백준 3052번] 나머지 - Java //Wello Horld//

koucop 2019. 7. 4. 20:47

백준 알고리즘 3052번 나머지를 Java로 풀어보자

총 10개의 수를 입력받고 그 수들을 42로 나누고 남은 나머지가 중복 되는지 체크하면 되는 문제다.

정답율이 70%가 넘는 아주 쉬운 문제이므로, 쉽게 쉽게 풀어보자

일단 chk 라고 하는 크기가 42인 boolean 배열을 만들어준다.

boolean[] chk = new boolean[42];

그리고 각각 받은 수를 42로 나눠서 중복되지 않는 값이면 count하고, 중복된 값이면 그냥 건너뛰게 만들어주면 되겠네!!

import java.io.*;
import java.util.*;

public class sample{
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        boolean[] chk = new boolean[42];
        int cnt = 0;
        for(int i = 0; i < 10; i++) {
            int a = Integer.parseInt(br.readLine());
            if(!chk[a % 42]){
                chk[a % 42] = true;
                cnt++;
            }
        }
        bw.write(cnt + "\n");
        bw.flush();
        br.close();
        bw.close();
    }
}

전체코드는 이렇게 짰다

간단하구만!!

 

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