rueki

SW Expert Academy 1926. 간단한 369게임 본문

C, C++ 문제풀이

SW Expert Academy 1926. 간단한 369게임

륵기 2020. 2. 26. 12:22
728x90
반응형

문제 링크 : 

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PTeo6AHUDFAUq&categoryId=AV5PTeo6AHUDFAUq&categoryType=CODE

 

SW Expert Academy

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

swexpertacademy.com

#include <iostream>
using namespace std;

int main()
{
	int num = 0;
	char a = '-';
	char b = '--';
	cin >> num;

	for (int i = 1; i <= num; i++)
	{	
    	// 10보다 작을 때 경우에 3,6,9를 '-'로 출력하기 위해
		if (i <= 10)
		{
			if (i % 3 == 0)
			{
				cout << "-" << ' ';
			}
			else
			{
				cout << i << ' ';
			}
		}
        
        //10보다 클 때
		else if (i > 10) {
        
        	// 33,36,39,63,66,69 와같은 숫자처럼 3,6,9의 숫자가 두개가 있는 경우
			if ((i % 3 == 0 )&& (i % 10 == 3 || i%10==6 || i%10 ==9))
			{
            	//3으로 나머지 계산 시 0이고, 10으로 나머지 계산 시, 3,6,9,가 나오는 경우
				cout << "--" << ' ';
			}
			else if ((i%10==3 || i%10==6 || i%10==9) && i%3 !=0) {
            	//3으로 나머지 연산 시 0이 아닌 경우 -> 23,26,29,43,46...
				cout << '-' << ' ';
			}
			else if (i % 30 < 10) {
            	// 30,31,32... 60,61,62... 의 공통점은 30으로 나머지 계산시 값이 10보다 무조건 작음
				cout << '-' << ' ';
			}
			else {
            // 그외는 숫자 출력
				cout << i << ' ';
			}
		}
	}
	return 0;
}
728x90
반응형
Comments