백준/Java

[백준 자바] 31428번(엘리스 트랙 매칭)

gamzaggang7 2024. 6. 14. 01:18
728x90

난이도 - 브론즈 4

 

문제

엘리스 트랙은 2020년부터 시작한 KDT(K-Digital Training) 교육이며 Cloud 트랙, SW 엔지니어 트랙, IOT 트랙, AI 트랙 총 4가지 트랙이 있다.

헬로빗은 이러한 엘리스 트랙에 매력을 느껴 친구들 𝑁명을 모아 같이 엘리스 트랙에 지원하려 한다. 헬로빗의 친구들과 헬로빗이 지원하는 트랙에 대한 정보가 주어질 때, 헬로빗이 지원하는 트랙과 같은 트랙을 지원하는 헬로빗의 친구들은 총 몇 명이 있는지 출력하는 프로그램을 작성해 보자.

입력

첫 번째 줄에 친구들의 수를 의미하는 정수 𝑁이 주어진다. (1≤𝑁≤10000)

두 번째 줄에 헬로빗의 친구들이 지원하는 엘리스 트랙에 대한 정보 𝑁개가 공백으로 구분되어 주어진다.

세 번째 줄에 헬로빗이 지원하는 엘리스 트랙에 대한 정보가 주어진다.

엘리스 트랙에 대한 정보는 Cloud 트랙은 'C', SW 엔지니어 트랙은 'S', IOT 트랙은 'I', AI 트랙은 'A'로 주어진다.

출력

헬로빗이 지원하는 트랙과 같은 트랙을 지원하는 헬로빗의 친구들은 총 몇 명이 있는지 출력한다.

 


 

1. 배열

길이가 4인 배열을 만들고 각각 C, S, I, A 의 개수만큼 채운다.

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

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(br.readLine());
        int[] arr = new int[4];

        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        for (int i = 0; i < N; i++) {
            char c = st.nextToken().charAt(0);
            if (c == 'C')
                arr[0]++;
            else if (c == 'S')
                arr[1]++;
            else if (c == 'I')
                arr[2]++;
            else
                arr[3]++;
        }

        char input = br.readLine().charAt(0);

        bw.write(String.valueOf(result(input, arr)));

        bw.flush();
        br.close();
        bw.close();
    }

    static int result(char c, int[] arr) {
        if (c == 'C')
            return arr[0];
        else if (c == 'S')
            return arr[1];
        else if (c == 'I')
            return arr[2];
        else
            return arr[3];
    }
}

 

2. 문자열 길이

친구들의 트랙을 띄어쓰기 없이 문자열로 입력받는다. (frds)

헬로빗의 트랙을 문자열로 입력받는다. (h)

frds 문자열에서 h와 같은 문자는 없앤다. 없애고 남은 frds의 길이를 전체 친구들의 수에서 빼면 h와 같은 문자의 수가 반환된다.

import java.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(br.readLine());
        String frds = br.readLine().replace(" ", "");
        String h = br.readLine();

        int result = N - frds.replace(h, "").length();

        bw.write(String.valueOf(result));

        bw.flush();
        br.close();
        bw.close();
    }
}

728x90