이것저것 코드/파이썬

[파이썬] 배열에서 특정 단어만 세어 결과를 숫자로 반환하기

원-스텝 2022. 9. 1. 18:32
반응형
아래 내용을 읽고 hot_cold함수를 올바르게 구현하세요.
hot_cold 함수에는 매개변수로 리스트 emotion이 주어집니다. 이 리스트의 원소는 모두 문자열 “냉정”, “열정”, “사랑” 중 하나임이 보장됩니다.
hot_cold는 emotion의 “냉정” 원소와 “열정” 원소 사이의 “사랑” 이 모두 몇 개인지 계산하여, “사랑”의 개수를 정수 자료형으로 반환합니다.

함수 호출 예시 1
hot_cold(['냉정', '사랑', '사랑', '사랑', '열정', '사랑', '사랑'])
함수 반환 예시 1
3

함수 호출 예시 2
hot_cold(['열정', '사랑', '사랑', '사랑', '냉정', '사랑', '사랑'])
함수 반환 예시 2
3

주어진 예시 외의 다른 모든 경우에 대해 모두 올바른 값을 출력합니다.

"열정" 또는 "사랑" 중 어느게 먼저 나올지를 확인하는 조건문을 추가했다.

def hot_cold(emotion):
    # emotion 리스트 속에서 냉정과 열정 사이의 사랑의 개수를 세어 반환해 보세요.
    num1=emotion.index("냉정")
    num2=emotion.index("열정")
    if num2 < num1:
        num1 = num1 + 1
        newRange=emotion[num2:num1]
    else:
        num2 = num2 + 1
        newRange=emotion[num1:num2]
    num=newRange.count("사랑")
    return num
    

# 3이 출력되어야 합니다.
#print(hot_cold(['냉정', '사랑', '사랑', '사랑', '열정', '사랑', '사랑']))
print(hot_cold(['열정', '사랑', '사랑', '사랑', '사랑', '사랑', '사랑', '냉정', '사랑', '사랑']))
반응형