https://www.acmicpc.net/problem/2441
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
이중 for문을 사용하여 줄 바꿈과 별, 공백을 출력하는 for문을 따로 만들어 준다.
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
for (int i = 0; i < a; i++)
{
for (int j = 0; j < i; j++)
{
printf(" ");
}
for (int k = a - i; k > 0; k--)
{
printf("*");
}
printf("\n");
}
}
a를 입력받고 i를 0부터 a-1까지 a번 반복하는 바깥 for문을 생성한다.
공백과 별을 출력하는 반복문을 따로 만들어준다.
2-1. 공백은 0칸, 1칸, ..., a-1칸씩 늘어나므로 j는 0부터 1씩 증가하며 j<i 범위까지 반복하여 출력해준다.
2-2. 별은 a개, a-1개, ..., 1개씩 줄어드니까 k를 a-i부터 1씩 감소하여 k>0 범위까지 반복하여 출력해준다.
바깥 for문으로 a번 만큼 안쪽 for문인 빈칸과 공백을 출력하는 과정이 끝난 뒤에 줄바꿈 \n을 1번씩 해주는 것을 반복한다.
아직까진 혼자 풀 수 있는 난이도인데 푸는 속도가 좀 느리다ㅜ_ㅜ
별 개수 출력하는 반복문에서 k=a-i 부분을 생각해내는게 조금 걸렸다.