본문 바로가기

Computer Science&Engineering/코딩테스트

[백준 별찍기 1~9] 쉬운 별찍기 모음 #별찍기꿀팁 #별찍기9개 #피라미드 #역피라미드 #모래시계찍기 #마름모찍기

# 저의 별찍기 꿀팁은

줄 변수를 line 으로 잡고, 별을 star, 공백을 blank 로 적는겁니다. 이게 되게 별 것 아닌 것 같지만 별찍기 할 때 도움이 되더라고요.

[백준 2438번] 별찍기 -1

 

int main(){
	int N;
	int line, star;
	
	scanf("%d", &N);
	
	for(line = 0; line < N; line++){
		for(star = 0; star <= line; star++)
			printf("*");
		printf("\n");
	}
	return 0;
}

 

5
*
**
***
****
*****

 

 

[백준 2439번] 별찍기 -2

 

int main(){
	int N;
	int line, star, blank;
	
	scanf("%d", &N);
	
	for(line = 0; line < N; line++){
		for(blank =0; blank < N - line -1 ; blank++)
			printf(" ");
			
		for(star = 0; star <= line; star++)
			printf("*");
		printf("\n");
	}
	return 0;
}
5
    *
   **
  ***
 ****
*****

 

[백준 2440번] 별찍기 -3

 

int main(){
	int N;
	int line, star;
	
	scanf("%d", &N);
	
	for(line = 0; line < N; line++){
		for(star = 0; star < N - line; star++)
			printf("*");
		printf("\n");
	}
	return 0;
}
5
*****
****
***
**
*

 

[백준 2441번] 별찍기 -4

 

int main(){
	int N;
	int line, star, blank;
	
	scanf("%d", &N);
	
	for(line = 0; line < N; line++){
		for(blank = 0; blank < line ; blank++)
			printf(" ");
			
		for(star = 0; star < N - line; star++)
			printf("*");
		printf("\n");
	}
	return 0;
}
5
*****
 ****
  ***
   **
    *

 

[백준 2442번] 별찍기 -5

 

int main(){
	int N;
	int line, star, blank;
	
	scanf("%d", &N);
	
	for(line = 0; line < N; line++){
		for(blank = 0; blank < N - line -1 ; blank++)
			printf(" ");
			
		for(star = 0; star < 2 * line + 1; star++)
			printf("*");
		printf("\n");
	}
	return 0;
}
5
    *
   ***
  *****
 *******
*********

 

[백준 2443번] 별찍기 -6

 

int main(){
	int N;
	int line, star, blank;
	
	scanf("%d", &N);
	
	for(line = 0; line < N; line++){
		for(blank = 0; blank < line ; blank++)
			printf(" ");
			
		for(star = 0; star < 2 * (N - line) - 1; star++)
			printf("*");
		printf("\n");
	}
	return 0;
}
5
*********
 *******
  *****
   ***
    *

 

[백준 2444번] 별찍기 -7

 

이 문제는 간단하게 풀자면, 앞에 별찍기 5와 6을 한 번에 출력하면 될 것 같아요

 

# include <stdio.h>
int main(){
	int N;
	int line, star, blank;
	scanf("%d", &N);
	for(line = 0 ; line < N ; line++){
		for(blank = 0; blank < N - line -1 ; blank++)
			printf(" ");
		for(star=0; star< 2*line+1; star++)
			printf("*");
		printf("\n");
	}
	
	for(line = 1 ; line < N ; line++){
		for(blank = 0; blank < line ; blank++)
			printf(" ");
		for(star=0; star< 2*(N-line)-1 ; star++)
			printf("*");
		printf("\n");
	}
}
5
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

 

 

[백준 2445번] 별찍기 -8

 

이것도 빨간거 먼저 찍고, 파란거 찍을게요.

 

 

int main(){
	int N;
	int line, star, blank;
	
	scanf("%d", &N);
	
	for( line = 0; line < N ; line++){
		for( star = 0; star <= line ; star++ )
			printf("*");
		for( blank = 0 ; blank < N - line - 1 ; blank++)
			printf("  ");
		for( star = 0; star <= line ; star++ )
			printf("*");
		printf("\n");
	}
	
	for( line = 1; line < N ; line++){
		for( star = 0; star < N - line ; star++ )
			printf("*");
		for( blank = 0 ; blank < line ; blank++)
			printf("  ");
		for( star = 0; star < N - line ; star++ )
			printf("*");
		printf("\n");
	}
	return 0;
}
5
*        *
**      **
***    ***
****  ****
**********
****  ****
***    ***
**      **
*        *

 

[백준 2446번] 별찍기 -9

 

이것도 위에 피라미드 찍고, 아래 피라미드 찍으면 될 것 같아요.

 

int main(){
	int N;
	int line, star, blank;
	
	scanf("%d", &N);

	for(line = 0; line < N; line++){
		for(blank = 0; blank < line ; blank++)
			printf(" ");
			
		for(star = 0; star < 2 * (N - line) - 1; star++)
			printf("*");
		printf("\n");
	}
	
	for(line = 1; line < N; line++){
		for(blank = 0; blank < N - line -1 ; blank++)
			printf(" ");
			
		for(star = 0; star < 2 * line + 1; star++)
			printf("*");
		printf("\n");
	}
	return 0;
}
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********

# 추가 

 

위에 이 모래시계 모양을 여러 번 반복해서 찍어봤어요.

 

int main(){
	int N, line, star, blank, tmp;
	scanf("%d", &N); // 피라미드 줄 수
    			// 16 을 입력하면 그림과 같은 모양이 나와요
	for(line = 0; line <= N; line++){
		if ((line/4 == 1) || (line/4 == 3)) tmp = 4 - line % 4;
		else tmp = line % 4;
		for(blank=0; blank<tmp; blank++)
			printf(" ");
		for(star=0; star<9-2*tmp; star++)
			printf("*");
		printf("\n");
	}
}
16
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********
반응형