문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
풀이 과정
별 찍기 - 1 문제와는 다르게, 별 앞에 공백이 들어간다.
예제 입력 1을 참고해 5가 입력으로 들어온다고 가정하면,
1번째 줄에는 공백 4개, 별 1개
2번째 줄에는 공백 3개, 별 2개
3번째 줄에는 공백 2개, 별 3개
4번째 줄에는 공백 1개, 별 4개
5번째 줄에는 공백 0개, 별 5개 가 출력된다.
즉, i 번째 줄에는 공백 n - i 개, 별 i 개가 출력되도록 반복문을 구성하면 되는 문제이다.
C
#include <stdio.h>
int main(void) {
int n; scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i - 1; j++)
printf(" ");
for (int j = 0; j <= i; j++)
printf("*");
printf("\n");
}
return 0;
}
C++
#include <iostream>
using namespace std;
int main(void) {
int n; cin >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i - 1; j++) cout << " ";
for (int j = 0; j <= i; j++) cout << "*";
cout << endl;
}
return 0;
}
Python
import sys
input = sys.stdin.readline
n = int(input().rstrip())
for i in range(1, n+1):
print(' '*(n-i), end='')
print('*'*i)
Java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i - 1; j++) System.out.print(" ");
for (int j = 0; j <= i; j++) System.out.print("*");
System.out.println();
}
}
}
'-- 예전 기록 > BOJ' 카테고리의 다른 글
[ BOJ ] 27114 : 조교의 맹연습 ( GOLD 4 ) / Python (0) | 2023.09.11 |
---|---|
[ BOJ ] 10952 : A+B - 5 ( BRONZE 5 ) / C, C++, Python, Java (0) | 2023.09.08 |
[ BOJ ] 2438 : 별 찍기 - 1 ( BRONZE 5 ) / C, C++, Python, Java (0) | 2023.09.08 |
[ BOJ ] 11022 : A+B - 8 ( BRONZE 5 ) / C, C++, Python, Java (0) | 2023.09.08 |
[ BOJ ] 2759 : 팬케이크 뒤집기 ( GOLD 4 ) / Python (0) | 2023.09.07 |