백준 Serious Problem

KIMYEONGJUN·2025년 1월 22일
0
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

첫 줄에 문자열 s의 길이가 주어진다.
둘째 줄에 문자열 s가 주어진다.
s의 길이는 1 이상 105 이하이며, s는 2와 e로만 이루어져 있다.

2의 등장횟수가 더 많다면 2를 출력하고, e의 등장횟수가 더 많다면 e를 출력한다.
등장횟수가 같다면 "yee"를 출력한다. (큰 따옴표 제외)

내가 이 문제를 보고 생각해본 부분

BufferedReader를 사용하여 표준 입력을 읽는다.
첫 번째 줄은 문자열의 길이이므로 읽기만 하고 사용하지 않는다.
문자열 읽기 및 초기화:
두 번째 줄에서 문자열 s를 읽어온다.
count2와 countE는 각각 '2'와 'e'의 개수를 저장하기 위한 변수이다.
문자열 순회 및 카운트:
s.toCharArray()를 사용하여 문자열을 문자 배열로 변환한 후, 각 문자를 순회한다.
각 문자가 '2'일 경우 count2를 증가시키고, 'e'일 경우 countE를 증가시킨다.
결과 비교 및 출력:
count2와 countE를 비교하여 더 많이 등장한 문자를 출력한다.
두 개수가 같으면 "yee"를 출력한다.

코드로 구현

package baekjoon.baekjoon_26;

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

// 백준 17094번 문제
public class Main910 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        br.readLine(); // 첫 줄은 문자열의 길이이므로 읽어오지만 사용하지 않음

        String s = br.readLine();
        int count2 = 0;
        int countE = 0;

        for(char c : s.toCharArray()) { // 문자열 s를 순회하며 '2'와 'e'의 개수를 센다
            if(c == '2') {
                count2++;
            } else if (c == 'e') {
                countE++;
            }
        }

        // 결과를 비교하여 출력
        if(count2 > countE) {
            System.out.println("2");
        } else if(countE > count2) {
            System.out.println("e");
        } else {
            System.out.println("yee");
        }

        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글

관련 채용 정보