[Java]BOJ 2776 : ์•”๊ธฐ์™•

2025. 1. 13. 22:54ยทAlgorithm

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

๐Ÿšฉ๋ฌธ์ œ

๐Ÿ”’๋ฌธ์ œํ•ด๊ฒฐ(์‹œ๊ฐ„์ดˆ๊ณผ)

๋น„๊ต ํ•ด์•ผํ•  ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด 1 ≤ N ≤ 1,000,000๋ฒ”์œ„์ด๋ฏ€๋กœ, ๋งค๋ฒˆ System.out.println()์œผ๋กœ ์ถœ๋ ฅํ•˜๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. StringBuilder์— ๋ชจ์•„๋‘์—ˆ๋‹ค๊ฐ€ ๋งˆ์ง€๋ง‰์— ํ•œ๋ฒˆ๋งŒ System.out.println()๋กœ ์ถœ๋ ฅํ•˜๋Š”๊ฒƒ์„ ์„ ํƒ

 

1. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ฐœ์ˆ˜๋งŒํผ for๋ฌธ์„ ์ง„ํ–‰ํ•˜๊ณ  ๊ทธ ์•ˆ์—์„œ, N๊ณผ M๊ฐ’์„ ์ž…๋ ฅ

2. ์ˆซ์ž ๋ฆฌ์ŠคํŠธ์—  ์ž…๋ ฅ๋ฐ›์€ N๊ณผ M ์˜ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ณ  for๋ฌธ์„ ๋Œ๋ฉด์„œ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์ด ์กด์žฌํ•˜๋ฉด 1,์—†์œผ๋ฉด 0์„ ์ €์žฅ ํ•˜์—ฌ ์ถœ๋ ฅ

๋‘ ๋ฆฌ์ŠคํŠธ๊ฐ„ ๋ชจ๋“  ์š”์†Œ ๋น„๊ต๋กœ O(N×M)

๐Ÿ”“๋ฌธ์ œํ•ด๊ฒฐ(HashSet)

HashSet : O(1)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฒ€์ƒ‰,์‚ฝ์ž…,์‚ญ์ œ ์ž‘์—… ์ˆ˜ํ–‰

 

์ˆ˜์ฒฉ2์— ์ ํ˜€์žˆ๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋น„๊ตํ•ด์•ผํ•˜๋ฏ€๋กœ

์ˆ˜์ฒฉ1์˜ ๊ฐ’๋งŒ HashSet์— ์ €์žฅํ•˜์—ฌ ํ–ฅ์ƒ๋œ for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น๊ฐ’์ด ์ˆ˜์ฒฉ1์— ์กด์žฌํ•˜๋Š”์ง€ contains๋กœ ๋น„๊ตํ•˜์—ฌ

์กด์žฌํ•˜๋ฉด 1, ์—†์œผ๋ฉด 0 StringBuilder์— ์ €์žฅ.(ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ์ด๋ฏ€๋กœ ๊ฐœํ–‰๋ฌธ์ž๋„ ์ถ”๊ฐ€)

 

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

/*
* ์ž…๋ ฅ *
* ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ฐœ์ˆ˜ T
* ์ˆ˜์ฒฉ1์— ์ ์–ด ๋†“์€ ์ •์ˆ˜ ๊ฐœ์ˆ˜ N
* ์ •์ˆ˜N๊ฐœ
* ์ˆ˜์ฒฉ2์— ์ ์–ด ๋†“์€ ์ •์ˆ˜ ๊ฐœ์ˆ˜ M
* ์ •์ˆ˜ M๊ฐœ
*
* ์ถœ๋ ฅ *
* ํ•œ์ค„์— ํ•œ๊ฐœ์”ฉ ์ˆ˜์ฒฉ2์— ์ ํ˜€์žˆ๋Š” M๊ฐœ์˜ ์ˆซ์ž ์ˆœ์„œ๋Œ€๋กœ, ์ˆ˜์ฒฉ1์— ์žˆ์œผ๋ฉด 1,์—†์œผ๋ฉด 0 ์ถœ๋ ฅ
*
*/
public class Main {
    public static void main(String[] args) throws IOException {
        // ์ž…๋ ฅ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด BufferedReader ์‚ฌ์šฉ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder(); // ์ถœ๋ ฅ๊ฐ’์„ ๋ชจ์•„๋†“๊ธฐ ์œ„ํ•œ StringBuilder ์‚ฌ์šฉ

        // ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ฐœ์ˆ˜ ์ž…๋ ฅ
        Integer T = Integer.parseInt(br.readLine());

        // ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต
        for (int i = 0; i < T; i++) {
            // ์ˆ˜์ฒฉ1์— ์ ํžŒ ์ •์ˆ˜ ๊ฐœ์ˆ˜ N ์ž…๋ ฅ
            int N = Integer.parseInt(br.readLine());

            // ์ˆ˜์ฒฉ1์˜ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•  HashSet ์ƒ์„ฑ
            HashSet<Integer> set1 = new HashSet<>();
            String[] str1 = br.readLine().split(" "); // ์ˆ˜์ฒฉ1์˜ ์ •์ˆ˜๋“ค ์ž…๋ ฅ๋ฐ›์•„ split

            // ์ˆ˜์ฒฉ1์˜ ์ •์ˆ˜๋ฅผ HashSet์— ์ถ”๊ฐ€
            for (String n : str1) {
                set1.add(Integer.parseInt(n));
            }

            // ์ˆ˜์ฒฉ2์— ์ ํžŒ ์ •์ˆ˜ ๊ฐœ์ˆ˜ M ์ž…๋ ฅ
            int M = Integer.parseInt(br.readLine());
            String[] str2 = br.readLine().split(" "); // ์ˆ˜์ฒฉ2์˜ ์ •์ˆ˜๋“ค ์ž…๋ ฅ๋ฐ›์•„ split

            // ์ˆ˜์ฒฉ2์˜ ์ •์ˆ˜๋“ค์„ ์ˆ˜์ฒฉ1์˜ HashSet๊ณผ ๋น„๊ต
            for (String m : str2) {
                if (set1.contains(Integer.parseInt(m))) {
                    sb.append("1").append("\n"); // ์ˆ˜์ฒฉ1์— ์žˆ์œผ๋ฉด 1 ์ถ”๊ฐ€
                } else {
                    sb.append("0").append("\n"); // ์—†์œผ๋ฉด 0 ์ถ”๊ฐ€
                }
            }
        }

        // ํ•œ ๋ฒˆ๋งŒ ์ถœ๋ ฅ
        System.out.println(sb);
    }
}

 

'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Java]BOJ 2225 : ํ•ฉ๋ถ„ํ•ด  (0) 2025.02.21
[Java]BOJ 1654 : ๋žœ์„  ์ž๋ฅด๊ธฐ  (0) 2025.01.15
[Java]BOJ 1388 : ๋ฐ”๋‹ฅ์žฅ์‹  (0) 2024.12.07
[Java]BOJ 1026 : ๋ณด๋ฌผ  (0) 2024.12.06
[Java]BOJ 16112 : 5์ฐจ ์ „์ง  (0) 2024.12.03
'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Java]BOJ 2225 : ํ•ฉ๋ถ„ํ•ด
  • [Java]BOJ 1654 : ๋žœ์„  ์ž๋ฅด๊ธฐ
  • [Java]BOJ 1388 : ๋ฐ”๋‹ฅ์žฅ์‹
  • [Java]BOJ 1026 : ๋ณด๋ฌผ
m.<jj
m.<jj
  • m.<jj
    JJ
    m.<jj
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (24)
      • Study (14)
        • Python (7)
        • Java (4)
        • HTML-CSS (1)
        • error (1)
        • Redis (0)
      • Algorithm (9)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    python
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.1
m.<jj
[Java]BOJ 2776 : ์•”๊ธฐ์™•
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”