백준 2439번

신형석·2022년 3월 11일
0

알고리즘 풀이

목록 보기
15/41

백준 2439번은 2중 반복문을 배울 때 푸는 별 찍기의 또 다른 형태 중 하나이다. 백준 2438번은 처음 배우는 사람들도 2중 반복문을 이해하기만 한다면 금방 풀어낼 것이다. 하지만, 이 문제처럼 조금만 틀어버려도 풀기 힘들어하는 모습이 보였다.

이 문제는 기본적으로, 빈 칸이 빈 칸이 아니라는 사실부터 시작해야한다. 무슨 뜻이냐면, 저 빈 칸처럼 보이는 곳에는 사실 ' '(스페이스바)가 들어가 있다는 것이다.

만약 숫자가 3이 입력되었다면, 구현은 이렇게 하면 된다(별이 여기서 쓰이지 않아서 기호 ^로 대체한다:

' '' ''^' (스페이스바 2번, 별 1번) 총 3번 출력
' ''^''^' (스페이스바 1번, 별 2번) 총 3번 출력
'^''^''^' (스페이스바 0번, 별 3번) 총 3번 출력

큰 반복문은 3번만 돌아갈 것이고, 그 안에서 반복문 2개를 이용해 각각 스페이스바와 별을 출력해주면 될 것이다.

코드는 다음과 같다:

#include <stdio.h>

int main(void) {
	int num;
	scanf("%d", &num);
	for (int i = 0; i < num; i++) {
		for (int j = 0; j < num - i - 1; j++) {
			printf(" ");
		}
		for (int j = 0; j < i + 1; j++) {
			printf("*");
		}
		printf("\n");
	}
}

0개의 댓글