아직은 정체성이 없는 블로그

[SWEA][D2][c++] 1926. 간단한 369게임 본문

알고리즘 역량테스트 문제/SWEA

[SWEA][D2][c++] 1926. 간단한 369게임

coooding 2020. 7. 2. 23:45

문제링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PTeo6AHUDFAUq

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

문제풀이

1. 1 부터 N까지 int 형 자료를 to_string 을 통해 string 으로 변환한다. 

2. 변환된 문자열에 3,6,9가 있는지 확인한다.

3. 3,6,9가 있다면 그 수만큼 -를 출력하고 없다면 그 숫자를 그대로 출력한다.

 

 

코드

#include<iostream>
#include<string>
using namespace std;
int main(int argc, char** argv)
{
    int n;
    scanf("%d",&n);
    for(int i=1; i<=n; i++){
        string s=to_string(i); // 문자열로 변환
        int flag=0; // 3,6,9 개수 
        for(int j=0; j<s.size(); j++){
            if(s[j]=='3'||s[j]=='6'||s[j]=='9')
                flag++;          
        }
        if(flag!=0)// 3,6,9가 있다면 개수만큼 출력 
            for(int j=0; j<flag; j++)
                printf("-");
     
        else // 없다면 그대로 출력
            printf("%d",i);
        printf(" ");
    }
    return 0;
}

 

 

Comments