개발자/C or C++

백준 10996번 [C/C+]

Mosser 2021. 10. 5.
728x90
반응형

문제

해결 방법

이 문제는 별표 찍기 문제인데, 제가 이런 문제를 어려워해서 역시 푸는데 시간이 조금 걸렸습니다. 이런 별표 찍기에서 중요한점은 규칙을 잘 찾는게 중요한데, 찾은 규칙을 구현하는 점도 중요합니다.

문제를 보시면 N을 입력받으면 출력되는 줄이 N이 1일 경우를 제외하고는 N*2줄이 출력되는게 나와 있습니다.

그렇다면 제일 바깥 for문은 Newline으로 이용하면 되고, 바깥 for문 안에서 한줄씩 그려내면 되는 문제입니다. * 찍는 규칙을 잘 찾아보면 횟수가 홀수냐 짝수냐에 따라 *를 그리거나 공백을 그리는 식으로 표현할 수 있습니다.

 

소스코드

#include <stdio.h>
#include <cmath>

int main(){
	int N;
	scanf("%d",&N);
	int i=0,j=0;

	if(N==1){
		printf("*\n");
		return 0;
	}
	
	
	for(i=0;i<N;i++){
		
		  // 첫번째 줄
		for(j=0;j<N;j++){
			if(j%2==1){
				printf(" ");
				continue;
			}
			printf("*");
		}
		   
			 
		printf("\n");
		
			
		  // 두번째 줄
		for(j=0;j<N;j++){
			if(j%2==1){
				printf("*");
				continue;
			}
			printf(" ");
			
		}
		
		printf("\n");
		
	}
	
	return 0;
}

실행결과

 

반응형

'개발자 > C or C++' 카테고리의 다른 글

백준 11654번 [C/C+]  (0) 2021.10.05
백준 15596번 [C/C+]  (0) 2021.10.05
백준 2446번 [C/C+]  (0) 2021.10.05
백준 2523번 [C/C+]  (0) 2021.10.05
백준 5543번 [C/C+]  (0) 2021.10.05

댓글