Algorithm/프로그래머스

[프로그래머스 / Python] 369게임

Kun Woo Kim 2025. 5. 31. 20:43
반응형

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120891


문제

머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요.


포인트

  • 문자열 처리: 숫자를 문자열로 변환하여 각 문자를 살펴봄으로써 특정 조건에 맞는 문자의 수를 셀 수 있습니다.

  • 간단한 조건 검사: 특정 문자('3', '6', '9')가 몇 번 등장하는지 확인하여, 그 횟수를 결과로 반환합니다.


내 답안

def solution(order):
    # 반환할 결과를 저장할 변수
    answer = 0
    # 주어진 숫자를 문자열로 변환
    str_order = str(order)
    # 문자열의 각 문자를 확인
    for i in range(len(str_order)):
        # 문자가 '3', '6', '9' 중 하나인 경우
        if str_order[i] in ['3', '6', '9']:
            answer += 1  # 박수 횟수를 증가
    return answer

남의 풀이

def solution(order):
    answer = 0
    order = str(order)
    return order.count('3') + order.count('6') + order.count('9')

결론 및 느낀점

이 문제를 통해 문자열 내에서 특정 조건에 해당하는 문자의 개수를 셀 수 있는 방법을 배웠습니다. Python의 count 함수를 사용하면 매우 간단하게 특정 문자의 개수를 셀 수 있어 코드가 훨씬 간결해집니다. 항상 여러 방법을 시도해보고, 더 효율적인 코드를 고민하는 것이 좋다는 것을 다시 한번 깨닫게 되었습니다.

반응형