본문 바로가기
Etc/Algorithm

[JAVA] 백준 3052번: 나머지 / BufferedReader, HashSet

by 달의 조각 2021. 12. 18.

 

1. Scanner 이용

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];
        boolean bl;
        int cnt = 0;
        
        for(int i=0; i<arr.length; i++)
            arr[i] = sc.nextInt() % 42;
        
        for(int i=0; i<arr.length; i++){
            bl = false;
            for(int k=i+1; k<arr.length; k++)
                if(arr[i] == arr[k]) {
                    bl = true;
                    break;
                }
            if(bl == false)
                cnt++;
        }
        System.out.println(cnt);
    }
}

 

2. BufferedReader 이용

import java.io.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int[] arr = new int[10];
		boolean bl;
		int cnt = 0;
		
		for(int i=0; i<arr.length; i++) {
			arr[i] = Integer.parseInt(br.readLine()) % 42;
		}
		
		for(int i=0; i<arr.length; i++) {
			bl = false;
			for(int k=i+1; k<arr.length; k++)
				if(arr[i] == arr[k]) {
					bl = true;
					break;
				}
			if(bl == false) {
				cnt++;
			}
		}
		System.out.println(cnt);
	}
}

 

3. BufferedReader, HashSet 이용

import java.io.*;
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++)
			hs.add(Integer.parseInt(br.readLine()) % 42);
		
		br.close();
		System.out.print(hs.size());
	}
}

 


 

HashSet

자바 Collection 중 Set의 파생 클래스

  1. 중복 원소를 허용하지 않는다.
  2. 순서 개념이 없다. - Collections.sort() 메소드 사용 불가 (정렬하려면 리스트로 변환 후 정렬)

 

댓글