뻠삥

문제 : https://www.acmicpc.net/problem/2439

 

2439번: 별 찍기 - 2

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

www.acmicpc.net

 

반복문을 이용해 별 찍는 문제입니다.

대학교 1학년 C언어를 처음 배울 때 별 찍기 문제를 많이 풀어봤던 기억이 납니다.

 

문제를 풀 때마다 느끼는데, 파이썬으로 코드를 짧게 짤 수 있다는 것이 큰 장점인 것 같아요.

제 문제 풀이는 아래와 같습니다.

 

1. Java

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
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        int cntLoop = Integer.parseInt(br.readLine());
        for (int i = 0; i < cntLoop; i++) {
            for (int j = i; j < cntLoop - 1; j++) {
                bw.write(" ");
            }
            for (int k = 0; k < i + 1; k++) {
                bw.write("*");
            }
            bw.write("\n");
        }
        
        bw.close();
        br.close();
    }
}
cs

 

2. Python 3

1
2
3
4
5
6
import sys
 
if __name__ == '__main__':
    cntLoop = int(sys.stdin.readline())
    for i in range(1, cntLoop + 1):
        print(' ' * (cntLoop - i) + '*' * i)
cs