백준 2446 별 찍기-9
- C
- 2020. 3. 26.
백준 2446 별 찍기-9
내용 요약: 예제를 보고 규칙을 유추한 뒤에 별 찍기.
자세한 내용은 아래 백준 2446번 별 찍기 문제 링크 확인하세요.
2446번 문제에 주어지는 입력 및 예시
1<=N<=100사이의 입력이 주어짐.
첫째 줄부터 2*N-1번째 줄까지 차례대로 별을 출력.
예제>
입력: 5 --> 출력: 아래 참고.
*********
*******
*****
***
*
***
*****
*******
*********
코드
2446번 문제의 코드는 다음과 같습니다.
#include<stdio.h>
int main(){
int i,j,k;
scanf("%d",&i);
for(j=0;j<i;j++){
for(k=0;k<2*i-1;k++){
if(j>k)
printf(" ");
else if(k>=2*i-1-j)
break;
else
printf("*");
}
printf("\n");
}
for(j=i-2;j>=0;j--){
for(k=0;k<2*i-1;k++){
if(j>k)
printf(" ");
else if(k>=2*i-1-j)
break;
else
printf("*");
}
printf("\n");
}
return 0;
}
출력 형식이 잘못되었습니다.
더보기
이렇게 코드를 작성했는데 "출력 형식이 잘못되었습니다"라고 나왔습니다.
#include<stdio.h>
int main(){
int i,j,k;
scanf("%d",&i);
for(j=0;j<i;j++){
for(k=0;k<2*i-1;k++){
if(j>k||k>=2*i-1-j)
printf(" ");
else
printf("*");
}
printf("\n");
}
for(j=i-2;j>=0;j--){
for(k=0;k<2*i-1;k++){
if(j>k||k>=2*i-1-j)
printf(" ");
else
printf("*");
}
printf("\n");
}
return 0;
}
이 코드를 실행하면 결과는 동일한 모습으로 보입니다.
그런데 이 코드가 출력 형식이 잘못되었다고 나와서 좀 더 생각해보았습니다.
이것이 문제더군요.
그냥 뒷부분의 공백은 안 찍어도 되는 것이었습니다.
실행
예제에 주어진 입력5를 입력하면 예제와 동일하게 실행이 됩니다.
'C' 카테고리의 다른 글
백준 10818 최소, 최대 (0) | 2020.03.29 |
---|---|
백준 10996 별 찍기 - 21 (0) | 2020.03.27 |
백준 2523 별 찍기-13 (0) | 2020.03.26 |
백준 5543 상근날드 (0) | 2020.03.26 |
백준 10039 평균점수 (0) | 2020.03.26 |