관리 메뉴

사과하는 제라스

[백준 BOJ 2438번] 별 찍기-1 본문

JAVA 백준 알고리즘 문제풀이/반복문

[백준 BOJ 2438번] 별 찍기-1

Xerath(제라스) 2022. 3. 28. 02:21
728x90
반응형

출처 : https://www.acmicpc.net/problem/2438

 

2438번: 별 찍기 - 1

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

www.acmicpc.net

 

1. 문제

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


2. 입력

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

5

3. 출력

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

*
**
***
****
*****

4. 풀이

잘못 보면 이중 for문을 써야할 듯해 보인다. *의 출력을 진행시키고 그 라인마다 *의 개수가 늘어나니 그만큼 또 출력하려니 말이다. 하지만 StringBuilder를 쓰면 쉬워진다. 일단 N을 입력받고 for문을 돌린다. 이때 sb에 *을 append해주고 출력을 하면 sb에 *이 쌓이기 때문에 굳이 각 행마다 *을 몇번을 출력하는 수고를 덜 수 있다. 


5. 소스코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringBuilder sb = new StringBuilder();
    int N = Integer.parseInt(br.readLine());
    for(int i=1; i<=N; i++){
        sb.append("*");
        System.out.println(sb);
    }
  }
}

6. 배운 것

반복되고 그 길이가 일정하게 늘어나는 출력이 있다면 StringBuilder를 쓸 차례이다.

 

 

728x90
반응형