Koala - 12기/기초 알고리즘 스터디

[백준/Python] 17094번: Serious Problem

haerr 2023. 9. 11. 17:20

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

문제

2와 e는 발음이 비슷해, 둘을 섞어서 말하면 듣는 사람을 짜증나게 만들 수 있다.

지민이는 이 점을 이용해 은수를 미치게 하고 있다. 은수를 위해 지민이가 말한 문자열 s가 주어질때, 2의 등장 횟수가 더 많은지, e의 등장 횟수가 더 많은지 도와주자.


입력

첫 줄에 문자열 s의 길이가 주어진다.

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


출력

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


소스코드

str_len = int(input())
s = input()

cnt_e = 0
cnt_2 = 0

for i in range(str_len):
    if s[i] == 'e':
        cnt_e += 1
    else:
        cnt_2 += 1
        
if cnt_e > cnt_2:
    print("e")
elif cnt_2 > cnt_e:
    print(2)
else:
    print("yee")

문제 풀이

1. 문자열의 길이와 문자열을 입력 받는다.

2. 문자열에서 e와 2의 개수를 세는 변수 cnt_e와 cnt_2를 생성한다.

3. 문자열의 길이(str_len)만큼 반복문을 실행하고, 문자열의 인덱스를 사용하여 문자열의 처음부터 끝까지 각각 e인지, 2인지를 확인한다

4. 조건문을 사용하여 'e'일 경우 cnt_e를 +1하고, 2일 경우 cnt_2를 +1한다.

5. 조건문으로 cnt_e와 cnt_2의 값을 비교하고 알맞는 값을 출력한다.