본문 바로가기
알고리즘 문제풀이/백준

백준 2439번 별 찍기-2 정답 코드

by 차누감 2024. 10. 12.
반응형

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.


1. Python

# 정수 N 입력받기
N = int(input())

# 1부터 N까지 반복하면서 오른쪽 정렬된 별 출력
for i in range(1, N + 1):
    print(' ' * (N - i) + '*' * i)
----------------------------------------------
# 이중 반복문 이용 방법
# 정수 N 입력받기
N = int(input())

# 1부터 N까지 반복하면서 오른쪽 정렬된 별 출력
for i in range(1, N + 1):
    # N - i개의 공백을 출력
    for j in range(N - i):
        print(' ', end='')
    # i개의 별을 출력
    for j in range(i):
        print('*', end='')
    # 줄 바꿈
    print()

2. Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // 정수 N 입력받기
        int N = sc.nextInt();
        
        // 1부터 N까지 반복하면서 오른쪽 정렬된 별 출력
        for (int i = 1; i <= N; i++) {
            // N - i개의 공백 출력
            for (int j = 1; j <= N - i; j++) {
                System.out.print(" ");
            }
            // i개의 별 출력
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            // 줄바꿈
            System.out.println();
        }
        
        sc.close();
    }
}

3. C++

#include <iostream>
using namespace std;

int main() {
    int N;
    cin >> N;
    
    // 1부터 N까지 반복하면서 오른쪽 정렬된 별 출력
    for (int i = 1; i <= N; i++) {
        // N - i개의 공백 출력
        for (int j = 0; j < N - i; j++) {
            cout << " ";
        }
        // i개의 별 출력
        for (int j = 0; j < i; j++) {
            cout << "*";
        }
        // 줄바꿈
        cout << endl;
    }

    return 0;
}

4. JavaScript

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on('line', (line) => {
    const N = parseInt(line);

    // 1부터 N까지 반복하면서 오른쪽 정렬된 별 출력
    for (let i = 1; i <= N; i++) {
        console.log(' '.repeat(N - i) + '*'.repeat(i));
    }
    
    rl.close();
});

5. C

#include <stdio.h>

int main() {
    int N;

    // 정수 N 입력받기
    scanf("%d", &N);

    // 1부터 N까지 반복하면서 오른쪽 정렬된 별 출력
    for (int i = 1; i <= N; i++) {
        // N - i개의 공백 출력
        for (int j = 0; j < N - i; j++) {
            printf(" ");
        }
        // i개의 별 출력
        for (int j = 0; j < i; j++) {
            printf("*");
        }
        // 줄바꿈
        printf("\n");
    }

    return 0;
}
반응형

댓글