#2443

문제 설명
첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제이다.
별은 가운데를 기준으로 대칭으로 출력해야한다.

풀이 과정
N을 입력받고 공백을 0부터 N까지 증가하며 출력, 별은 N개, N-1개만큼 출력해주어 거꾸로 된 삼각형 모양이 나올 수 있게 해주었다.
#include <stdio.h>
int main() {
int N;
scanf("%d",&N);
for(int i = 0; i<N; i++){
for(int j = 0; j<i; j++){
printf(" ");
}
for(int k = i; k<N; k++){
printf("*");
}
for(int k = i; k<N-1; k++){
printf("*");
}
printf("\n");
}
return 0;
}
#2444

문제 설명
예제처럼 별을 찍는 문제이다.

풀이 과정
이전에 했던 별찍기 (위쪽 삼각형, 아래쪽 삼각형)를 합쳐주면 된다.
다만 유의해야할 것은 불필요한 공백이 하나 더 들어가서 출력형식이 잘못되었다고 뜰 수 있으므로 숫자에 유의하자.
#include <stdio.h>
int main() {
int N;
scanf("%d",&N);
for(int i = 1; i<N; i++){
for(int j = N; j>i; j--){
printf(" ");
}
for(int k = 0; k<i; k++){
printf("*");
}
for(int k = 0; k<i-1; k++){
printf("*");
}
printf("\n");
}
for(int i = 0; i<N; i++){
for(int j = 0; j<i; j++){
printf(" ");
}
for(int k = i; k<N; k++){
printf("*");
}
for(int k = i; k<N-1; k++){
printf("*");
}
printf("\n");
}
return 0;
}
#2445

문제 설명
예제처럼 별을 찍는 문제이다.
풀이 과정
위의 풀이과정에서 살짝의 변형을 주면 된다. 공백과 별의 위치를 바꾸고 1값을 빼주었던걸 없애주면 위와 같은 결과가 나오게 된다.
#include <stdio.h>
int main() {
int N;
scanf("%d",&N);
for(int i = 1; i<N; i++){
for(int j = 0; j<i; j++){
printf("*");
}
for(int k = i; k<N; k++){
printf(" ");
}
for(int k = i; k<N; k++){
printf(" ");
}
for(int k = 0; k<i; k++){
printf("*");
}
printf("\n");
}
for(int i = 0; i<N; i++){
for(int j = N; j>i; j--){
printf("*");
}
for(int k = 0; k<i; k++){
printf(" ");
}
for(int k = 0; k<i; k++){
printf(" ");
}
for(int k = i; k<N; k++){
printf("*");
}
printf("\n");
}
return 0;
}
댓글