# 저의 별찍기 꿀팁은
줄 변수를 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
*********
*******
*****
***
*
***
*****
*******
*********
*******
*****
***
*
***
*****
*******
*********
반응형
'Computer Science&Engineering > 코딩테스트' 카테고리의 다른 글
[백준 9012] 괄호 (0) | 2021.02.23 |
---|---|
[백준 10828] 스택 (0) | 2021.02.23 |
[백준 10818] 최소, 최대 구하기 (0) | 2021.02.21 |
[백준 8393] 합 # 1부터 N까지 합 (0) | 2021.02.21 |
[백준 1924] 2007년 #요일구하기 (0) | 2021.02.21 |