백준(BEAKJOON) | 단계별로 풀어보기
3-10단계 #2439번
문제 |
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력 |
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력 |
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
🥕 이 문제는 3-9단계 별 찍기 문제에서 조금 업그레이드 된 문제이며 똑같이 중첩 반복문으로 풀었다.
다만, 추가된 부분은 if 문을 넣어서 앞에 공백이 출력되게 끔 하였다.
C언어는 for문에서 행에 대한 변수 i는 0부터 시작하고, 열에 대한 변수 j는 0부터 시작하게 if 조건식을 j<N-i-1일 때 공백을 출력하고, 아닐 때는 별을 출력하도록 했다.
파이썬에서는 reversed를 사용하여 if 조건식이 간단해질 수 있도록 했다. 행에 대한 변수 i는 4부터 시작한다. 열에 대한 변수 j는 0부터 시작하고 if 조건식을 i<=j 일때, *을 출력하도록 하면, 예제출력처럼 출력할 수 있다.
-코드 첨부-
C언어
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
int main(void)
{
int N;
scanf("%d",&N);
for(int i=0; i<N; i++){
for(int j=0; j<N; j++){
if(j<N-i-1){
printf(" ");
}
else{
printf("*");
}
}
printf("\n");
}
return 0;
}
|
cs |
파이썬
1
2
3
4
5
6
7
8
|
N=int(input())
for i in reversed(range(N)):
for j in range(N):
if i <= j:
print('*', end='')
else:
print(' ', end='')
print()
|
cs |
'Coding > Baekjoon(백준)' 카테고리의 다른 글
[Python, C] 백준 1110번. 더하기 사이클. (0) | 2021.01.12 |
---|---|
[Python, C] 백준 10952번. A+B - 5. (0) | 2021.01.11 |
[Python, C] 백준 2438번. 별 찍기 - 1. (0) | 2021.01.05 |
[Python, C] 백준 11021번. A+B - 7. (0) | 2021.01.05 |
[Python, C] 백준 2741번. N 찍기. (0) | 2020.12.02 |