관리 메뉴

솜씨좋은장씨

[BaekJoon] 10769번 : 행복한지 슬픈지 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 10769번 : 행복한지 슬픈지 (Python)

솜씨좋은장씨 2021. 7. 10. 00:51
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 행복한지 슬픈지 입니다.

행복한지 슬픈지 보지않아도 모두가 행복한 하루였으면 좋겠습니다~

 

10769번: 행복한지 슬픈지

승엽이는 자신의 감정을 표현하기 위해서 종종 문자 메시지에 이모티콘을 넣어 보내곤 한다. 승엽이가 보내는 이모티콘은 세 개의 문자가 붙어있는 구조로 이루어져 있으며, 행복한 얼굴을 나

www.acmicpc.net

Solution

def happy_or_sad(mind_string):
    mind = None
    happy, sad = 0, 0
    
    split_string = mind_string.split(":")
    
    for split_str in split_string:
        if split_str[:2] == "-)":
            happy += 1
        elif split_str[:2] == "-(":
            sad += 1
    
    if happy == 0 and sad == 0:
        mind = "none"
    elif happy == sad:
        mind = "unsure"
    elif happy > sad:
        mind = "happy"
    elif happy < sad:
        mind = "sad"
        
    return mind

if __name__ == "__main__":
    mind_string = input()
    print(happy_or_sad(mind_string))

Solution 풀이

먼저 입력 받은 문자열에서 우리가 찾아야하는 이모티콘은

행복을 나타내는 " :-) " 과 슬픔을 나타내는 " :-( " 입니다.

이를 보다 쉽게 찾기 위하여 두 이모티콘에 공통으로 들어가는 : 를 기준으로 전체 문자열을 split합니다.

그럼 나뉘어지는 문자열에서 문자열 slicing방법을 통해

0번째와 1번째의 문자열이

-) 이면 happy를 하나 +1 하여 count

-( 이면 sad를 하나 +1 하여 count 합니다.

마지막으로

happy와 sad가 모두 0이면 none

happy가 sad와 같으면 unsure

happy가 sad보다 크면 happy

sad가 happy보다 크면 sad를 출력하도록 합니다. 그럼 끝!

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments