상세 컨텐츠

본문 제목

[SW Expert Academy] 5550. 나는 개구리로소이다

Python/문제풀이

by 코딩하는 낙타 2020. 1. 18. 09:46

본문

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWWxqfhKAWgDFAW4

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

내 풀이:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
= int(input())
 
def frog(word):
    cnt_c = 0
    cnt_r = 0
    cnt_o = 0
    cnt_a = 0
    cnt_k = 0
    result = 0
 
    for i in word:
        if i == "c":
            cnt_c += 1
        elif i == "r":
            cnt_r += 1
        elif i == "o":
            cnt_o += 1
        elif i == "a":
            cnt_a += 1
        else:
            cnt_k += 1
 
        if not cnt_c >= cnt_r >= cnt_o >= cnt_a >= cnt_k:
            return -1
 
        else:
            frogs = max([cnt_c, cnt_r, cnt_o, cnt_a, cnt_k]) - min([cnt_c, cnt_r, cnt_o, cnt_a, cnt_k])
            if frogs > result:
                result = frogs
 
    if not cnt_c == cnt_r == cnt_o == cnt_a == cnt_k:
        return -1
 
    return result
 
for i in range(N):
    word = input()
    print("#{} {}".format(i+1, frog(word)))
 

각각의 문자 c, r, o, a, k는 문자열이 끝날 때 모두 같은 갯수가 있어야만 하며 어떤 순간에라도 c≥r≥o≥a≥k 를 만족해야 한다는 사실로 조건문을 작성하였다.

관련글 더보기

댓글 영역