Coding Test

369게임

honey-vision 2024. 8. 1. 13:03

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


C언어

주어지는 order를 보면 '1234'와 같이 숫자만 나열된 형태인 것을 알 수 있다.

정수를 문자열의 형태로 바꾸는 것이 먼저이다.

str이라는 문자열 변수를 선언하고 크기도 할당한다. sprintf를 사용하여 주어지는 order 정수 값을 str로 변환한다.

이제 str에 담겼으니 for문으로 반복하며 3, 6, 9 셋 중에 하나가 있는 지를 확인한다.

3 또는 6또는 9. 셋 중에 하나라도 속한다면 answer의 값을 1 증가시킨다.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int solution(int order) {
    int answer = 0;
    char str[12]; 
    sprintf(str, "%d", order); 

    for (int i = 0; i < strlen(str); i++) {
        if (str[i] == '3' || str[i] == '6' || str[i] == '9') {
            answer++;
        }
    }
    return answer;
}

파이썬

order 정수 값을 문자열로 변환하고 마찬가지로 3, 6, 9 셋 중 하나가 있는 조건에 만족하면 answer 값을 올려준다.

※ '||'이 아닌 'or' 사용, '++' 아닌 '+='으로 증가

def solution(order):
    answer = 0
    order_str = str(order)
    for i in order_str:
        if i=='3' or i=='6' or i=='9':
            answer+=1
    return answer

 

 

 

'Coding Test' 카테고리의 다른 글

숫자 찾기  (0) 2024.08.06
약수 구하기  (0) 2024.08.02
배열 회전시키기  (0) 2024.07.31
제곱수 판별하기  (0) 2024.07.30
문자열 정렬하기 (1)  (0) 2024.07.29