๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

[ํžŒํŠธ ๋ฌธ์ œ1-5] ๊ฐœ์ˆ˜ ์„ธ๊ธฐ

์‹œํ๋ฆฌํ‹ฐ์ง€ํ˜ธ 2023. 9. 19.

๋ฐฑ์ค€ ๋ฌธ์ œ : 10807 (๊ฐœ์ˆ˜ ์„ธ๊ธฐ)

ํ’€์ด๊ณผ์ • 1

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Hashtable;

public class Main {
    public static void main(String[] args) throws IOException {
        // Hashtable ์ƒ์„ฑ
        Hashtable<Integer, Integer> counts = new Hashtable<>();
        // BufferedReader ์ƒ์„ฑ
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // ์ž…๋ ฅ๊ฐ’ n์„ ์ฝ์–ด์™€ ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ n์— ์ €์žฅ
        int n = Integer.parseInt(br.readLine());

        // ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด numbers ์ƒ์„ฑ
        int[] numbers = new int[n];

        // ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋ฐ›์•„์™€์„œ, ๋ฐฐ์—ด number์— ์ €์žฅ.
        String[] input = br.readLine().split(" ");
        for (int i = 0; i < n; i++) {
            numbers[i] = Integer.parseInt(input[i]);

        }
        // numbers ๋ฐฐ์—ด์— ์žˆ๋Š” ์ˆซ์ž๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ Hashtable์— ์ €์žฅ
        for (int num : numbers) {
            if (counts.containsKey(num)) {
                counts.put(num, counts.get(num) + 1);
            } else {
                counts.put(num, 1);
            }
        }
        // ์ž…๋ ฅ๊ฐ’ target์„ ์ฝ์–ด์™€ ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ target์— ์ €์žฅ
        int target = Integer.parseInt(br.readLine());
        // target์ด Hashtable์— ์žˆ๋‹ค๋ฉด, Hashtable์— ํ•ด๋‹น ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ  ์ถœ๋ ฅ
        if (counts.containsKey(target)) {
            int count = counts.get(target);
            System.out.println(count);
        } else {
            // target์ด Hashtable์— ์—†๋‹ค๋ฉด, "0" ์ถœ๋ ฅ
            System.out.println("0");
        }
    }
}

ํ’€์ด๊ณผ์ •2

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Hashtable;

public class Main {
    public static void main(String[] args) throws IOException {
       //Hashtable์„ ๋งŒ๋“ ๋‹ค.
        Hashtable<String, Integer> counts = new Hashtable<>();
        // BufferedReder๋ฅผ ๋งŒ๋“ ๋‹ค.
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int num = Integer.parseInt(br.readLine());


        String[] numbers = br.readLine().split(" ");

        for (String a : numbers) {
            if (counts.containsKey(a)) {
                counts.put(a, counts.get(a) + 1);
            } else {
                counts.put(a, 1);
            }
        }
        String target = br.readLine();
        System.out.println(counts.get(target));

    }
}

์ด ๋‘ ๊ฐœ์˜ ํ’€์ด๊ณผ์ • ์ฐจ์ด์ ์€ ํ•ด์‹œํ…Œ์ด๋ธ”์˜ ๊ฐ’ ์ž๋ฃŒํ˜• ์ฐจ์ด๋‹ค.

 

 

BufferedReader ์™€ Scanner ์˜ ๋น„์Šทํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์ ์„ ์•Œ๊ฒŒ ๋จ

๋Œ“๊ธ€