투로드
Coder ToLoad
투로드
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 알고리즘
  • CS
  • GITHUB
  • 태그
  • 분류 전체보기 (69)
    • Toy Project (0)
      • EternalSNS (0)
    • Algorithm (46)
      • BaekJoon (38)
      • Programmers (7)
      • Code Tree (1)
    • Computer Science (13)
      • JAVA (7)
      • DataBase (4)
    • Backend (7)
      • Spring (2)
      • JPA (2)
      • Django (3)
    • Mobile (2)
      • Android (2)
    • Unity (1)

인기 글

최근 글

hELLO · Designed By 정상우.
투로드

Coder ToLoad

Algorithm/BaekJoon

[JAVA] 백준 2776 : 암기왕

2021. 3. 25. 12:55
문제
 

2776번: 암기왕

연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며,

www.acmicpc.net

 

해결 방법

해시쪽을 복습하면서 관련된 문제들을 보고 있는데 이 문제와 같은 경우는 굳이 HashMap을 사용하지 않고,

HashSet을 이용해서 값을 넣어둔 뒤에 그 값이 있는지 없는지만 체크하면 될 것 같아 아래와 같이 코드를 짜보았다.

 

처음에 주어진 값을 diary라는 HashSet에 넣어둔 뒤에 contains를 이용해서 비교한 뒤 있으면 1, 없으면 0을 

StringBuilder에 저장해 놓은 뒤에 출력하는 방식이다.

 

코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
import java.io.IOException;

public class Main {	
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st;
		
		int T = Integer.parseInt(br.readLine());
		for (int i = 0; i < T; i++) {
			Set<Integer> diary = new HashSet<>();
			
			int N = Integer.parseInt(br.readLine());
			st = new StringTokenizer(br.readLine(), " ");
			for (int j = 0; j < N; j++) {
				diary.add(Integer.parseInt(st.nextToken()));
			}	
			
			int M = Integer.parseInt(br.readLine());
			st = new StringTokenizer(br.readLine(), " ");
			for (int j = 0; j < M; j++) {
				int checkNum = Integer.parseInt(st.nextToken());
				if (diary.contains(checkNum)) {
					sb.append(1 + "\n");
				} else {
					sb.append(0 + "\n");
				}
			}
		}
		System.out.println(sb);
	}
}

'Algorithm > BaekJoon' 카테고리의 다른 글

[JAVA] 백준 1261 : 알고스팟  (0) 2021.04.02
[JAVA] 백준 2933 : 미네랄, 18500 : 미네랄2  (0) 2021.03.29
[JAVA] 백준 1620 : 나는야 포켓몬 마스터 이다솜  (0) 2021.03.24
[JAVA] 백준 14267 : 회사 문화 1  (0) 2021.03.24
[JAVA] 백준 15900 : 나무 탈출  (0) 2021.03.23
    'Algorithm/BaekJoon' 카테고리의 다른 글
    • [JAVA] 백준 1261 : 알고스팟
    • [JAVA] 백준 2933 : 미네랄, 18500 : 미네랄2
    • [JAVA] 백준 1620 : 나는야 포켓몬 마스터 이다솜
    • [JAVA] 백준 14267 : 회사 문화 1
    투로드
    투로드
    훌륭한 프로그래머가 되어가는 과정을 담아보는 중입니다.

    티스토리툴바