본문 바로가기
PS/programmers

[Lv. 0] 369게임(Python)

by 강렬한 스포트라이트 2023. 3. 2.

안녕하세요. 

강렬한 스포트라이트 입니다!

 

하기의 문제를 Python 언어를 사용하여 구현하고자 합니다.

 

<문제 설명>

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

 

<제한 사항>

1 ≤ order ≤ 1,000,000

 

<입출력 예>

order result
3 1
29423  2

 

 

1) 입력 받은 숫자를 문자열로 변환 후 구현한 코드입니다.

 

def solution(order):
    str_od=str(order); cnt=0
    for s in str_od:
        if s in ["3","6","9"]:
            cnt+=1
    return cnt

 

 

2) map(), count() 함수를 사용하여 구현한 코드입니다.

 

def solution(order):
    list_od=list(map(int, str(order))) #map함수를 사용해서 나열된 수를 리스트의 각 요소로 저장함
    return list_od.count(3)+list_od.count(6)+list_od.count(9)

 

 

3) 3으로 나누어 떨어지는 경우를 누적하여 구현한 코드입니다.

 

def solution(order):
    list_od=map(int, str(order)); cnt=0
    for od in list_od:
        if od%3==0 and od!=0:
            cnt+=1
    return cnt

 

 

해보시고 문의사항이 있으시면 댓글로 남겨주세요.´◡`

감사합니다!

 

 

반응형
SMALL