문제 링크 : https://www.acmicpc.net/problem/10815
상근이가 갖고 있는 숫자가 맞는지 확인하는 문제입니다.
배열 크기는 약 2700만 정도까지 할당이 가능하기 때문에 boolean 배열을 선언해서 해도 됩니다.
하지만 boolean 배열을 쓴다면 BitSet 이라는 자료구조를 사용하면 더 좋습니다.
일반적으로 boolean 배열은 값마다 1Byte씩 차지하는데 BitSet은 1bit만 차지합니다.
무려 7bit를 아끼는 효과가 있죠.
값을 넣을 때 주의할 점은 BitSet 역시 인덱스를 사용하기 때문에 음수 인덱스를 참조하면 에러가 발생합니다.
인덱스가 0부터 시작할 수 있도록 10,000,000 을 더해줍시다!
그리고 입/출력이 많기 때문에 BufferedReader와 BufferedWriter를 사용해주는 것이 좋습니다.
'알고리즘 문제 > 백준' 카테고리의 다른 글
백준 1238번. 파티 (Java) (0) | 2019.03.02 |
---|---|
백준 1753번. 최단경로 (Java) (0) | 2019.03.02 |
백준 2240번. 자두나무 (Java) (0) | 2019.02.15 |
백준 2473번. 세 용액 (Java) (0) | 2019.02.11 |
백준 2470번. 두 용액 (Java) (0) | 2019.02.11 |