220
풀이
줄 바꿈 시점에 유의하며 이중 for문으로 답을 출력합니다. *를 출력하기 전에 공백 출력에 유의합니다. Python은 부족한 크기만큼 자동으로 공백을 채워주는 rjust()를 사용하면 편리합니다.
코드
C
#include <stdio.h>
int main (){
int n, i, j;
scanf("%d", &n);
for(i=0; i<n; i++){
for(j=n-1; j>i; j--){
printf(" ");
}
for(j=0; j<i+1; j++){
printf("*");
}
printf("\n");
}
return 0;
}
C++
#include <iostream>
using namespace std;
int main(){
int n;
std::cin>>n;
for(int i=0; i<n; i++){
for(int j=n-1; j>i; j--){
std::cout<<" ";
}
for(int j=0; j<i+1; j++){
std::cout<<"*";
}
std::cout<<'\n';
}
return 0;
}
Java
import java.util.Scanner;
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=n-1; j>i; j--){
System.out.print(" ");
}
for(int j=0; j<i+1; j++){
System.out.print("*");
}
System.out.println();
}
}
}
Python
n = int(input())
for i in range(1,n+1):
print(str('*'*i).rjust(n))
문제 출처
https://www.acmicpc.net/problem/2439