반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 파이썬
- greedy
- 꾸준히
- 초보
- 문제풀이
- HTML
- 입문
- C
- 코드엔진
- C 언어
- Beakjoon
- 문자열
- 정리
- implement
- Python
- C Programming
- 설명
- 심화1
- 10807
- 10926
- 구현
- Baekjoon
- Implemention
- 그리디
- 친절한 설명
- c언어
- CSS
- 백준
- VS
- 알고리즘
Archives
- Today
- Total
안경잡이 구루루
백준 2439 ( 별 찍기- 2 ) [ C programming ] 본문
C언어(C programming)/문제풀이(백준,BaekJoon)
백준 2439 ( 별 찍기- 2 ) [ C programming ]
구루루(gururu) 2020. 5. 26. 17:18반응형
나:
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
for (int k = 1; k <= N; k++) {
for (int i = 1; i <= N-k; i++){
printf(" ");
}
for (int j = 1; j <= k; j++) {
printf("*");
}
printf("\n");
}
}
완성된 코드는 위와 같다.
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
별의 최종 개수를 정하는 N의 자료형을 선언하고 입력값을 받는다
for (int k = 1; k <= N; k++) {
for (int i = 1; i <= N-k; i++){
printf(" ");
}
for (int j = 1; j <= k; j++) {
printf("*");
}
printf("\n");
}
}
이 문제의 핵심은 *의 개수가 1개씩 늘어나지만 거꾸로 출력하도록 만들어야 한다.
예제 출력을 보면 빈칸의 개수는 N-1개의 개수에서 하나씩 줄어든다. 그래서 빈칸과 *의 출력을 따로 만들었다.
우선 외부 반복문 1번당 내부 반복문 전체 실행을 이용해서 for 반복문의 중첩을 이용
내부 반복문 중 빈칸을 출력하는 방법은 N-K까지 출력하도록 해서 빈칸 출력의 개수가 1개씩 줄어들도록 만듦
내부 반복문 중 * 을 출력하는 방법은 줄어든 빈칸의 개수와 반대로 1개씩 늘어나도록 만듦
이때 한줄의 출력이 끝나면 다음줄로 옮겨야 차례대로 * 출력이 늘어나기 때문에 제어코드 \n을 반복문 마지막에 사용
다른사람:
https://developerin.tistory.com/32
#include <stdio.h>
int main() {
int N = 0, i = 0, j = 0;
scanf("%d", &N);
for (i = 1; i <= N; i++) {
for (j = 1; j <= N; j++){
if (j <= N - i) printf(" ");
else printf("*");
}
printf("\n");
}
return 0;
}
완성된 코드는 위와 같다.
빈칸과 * 출력의 방식을 for로 나누지 않고 if구문을 이용해 출력했다
for (i = 1; i <= N; i++) {
for (j = 1; j <= N; j++){
if (j <= N - i) printf(" ");
else printf("*");
}
printf("\n");
}
return 0;
}
for 반복문의 중첩을 사용해서 출력하고자 한다.
빈칸을 출력하는 기준은 if 구문에서 총 별의 개수 - 출력할 별의 개수 ( N - i ) 를 이용해 빈칸의 개수를 맞추고
* 를 출력하는 기준은 위의 경우가 아니면 되기 때문에 else 구문을 사용했다.
이때 한줄에 하나씩 * 의 개수가 늘어나야 되기 때문에 내부반복문이 끝난 후 제어코드 \n 을 사용
반응형
'C언어(C programming) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 5543 ( 상근날드 ) [ C programming ] (0) | 2020.05.28 |
---|---|
백준 10039( 평균 구하기 ) [ C programming ] (0) | 2020.05.28 |
백준 10871 ( X 보다 작은 수) [ C programming ] (0) | 2020.05.26 |
백준 2438 ( 별 찍기 -1 ) [ C programming ] ( 오답노트 ) (0) | 2020.05.23 |
백준 11022 ( A+B -8 ) [ C programming ] (0) | 2020.05.23 |