반응형
1. 문제, 실행결과 예시
그 전에 풀었던 문제(2523번, 2446번) 들에 비하면, 나름 쉽게 풀었다고 생각한다. 규칙이 여렵다기보단, 어떤 방식으로 해결하는지가 더 중요한 문제였다고 생각한다. 다음은 문제 안내와 실행결과 예시이다.
출처: https://www.acmicpc.net/problem/10996
이걸 공백을 출력하고, 별을 출력하는 방식을 선택할 수 있겠지만, 두줄을 하나의 덩어리로 취급하고, 윗줄 아랫줄의 출력 갯수를 정하면 된다. 다음은 풀이 과정이다.
2. 문제 풀이
규칙은 나름 쉽다. 일단 입력되는 값이 input이라고 했을 때, input * 2이 출력되는 줄의 값이고, 이를 input개의 덩어리로 볼 수 있다. 윗줄은 별이 출력되고 공백이 출력되며, 아랫줄은 공백이 출력되고, 별이 출력된다. 이걸 반복해서 출력할 수 있겠지만, 간단하게 printf("* ") 과, printf(" *") 으로 구현해주면 훨씬 간단하다. 다음은 소스 코드이다.
#include <stdio.h>
int main(void) {
int input;
scanf("%d", &input);
int down = input - (input / 2);
int up = input / 2;
if (input != 1)
input = input * 2;
for (int i = 0; i < input; i++) {
if (i % 2) {
for (int j = 0; j < up; j++)
printf(" *");
}
else {
for (int j = 0; j < down; j++)
printf("* ");
}
printf("\n");
}
return 0;
}
3. 결어
이렇게 단계별로 풀기 실습 1이 마무리 되었다. 다음은 배열에 관한 문제들을 올릴 것이다.
반응형
'programming > 알고리즘 풀이' 카테고리의 다른 글
[백준 알고리즘] 4344번 - 평균은 넘겠지 (백준 알고리즘 예제 입력 가이드) (2) | 2020.06.19 |
---|---|
[백준 알고리즘] 8958번 OX퀴즈 (0) | 2020.06.19 |
[백준 알고리즘] 별찍기-13, 별찍기-9 (2523, 2446) (0) | 2020.06.19 |
[백준 알고리즘] 4949번 - 균형잡힌 세상 (런타임에러) (0) | 2020.05.23 |
[백준 알고리즘] 9012번 - 괄호 검사 코드 (0) | 2020.05.13 |