본문 바로가기
개발일지/코딩테스트

[Programmers] 저주의 숫자 3 (c++)

by 쫌눈 2025. 4. 11.
728x90
반응형

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

숫자 3이 포함되어있거나 3의배수는 무시하고 수를 센다.

 

#include <string>
#include <vector>

using namespace std;


bool Contain3(int n) {
    while (n > 0)
    {
        int digit = n % 10;
        if (digit == 3)
        {
            return true;
        }
        n /= 10;
    }
    return false;
}

int solution(int n) {
    vector<int> num;
    num.reserve(n);
    int i = 0;
    while (num.size() < n)
    {
        ++i;
        if (i%3 == 0 || Contain3(i))
        {
            continue;
        }
        num.emplace_back(i);
    }
    int answer = 0;
    if (!num.empty())
    {
        answer = num.back();
    }
    return answer;
}

728x90
반응형