티스토리 뷰

문제

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

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

입력

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

출력

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

제출

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;;
 
public class Main {
    static Scanner scanner;
 
    public static void main(String[] args) {
        scanner = new Scanner(System.in);
        int input = scanner.nextInt();
        String star = "";
 
        for(int i=input; i>0; i--)
            System.out.printf("%"+input+"s\n",star+="*");            
    }
}
cs

느낀점

1. 이전 문제는 그냥 별 개수를 늘려서 찍는 문제였지만 이번에는 빈칸을 점점 줄여가며 찍어야하는 문제였다. for문 2개를 이용해서 이중 반복문으로 해결하는 법이 가장 빠르게 떠오르는 부분이었지만, C언어와 같이 Java도 포맷 방식으로 printf 처럼 사용할 수 있다는 걸 알면 결과는 똑같지만 메모리를 더 조금 쓰고, 실행 속도도 조금 더 빠른 코드를 만들 수 있었다.

2. 반복문 문제로 나와있었지만 System.out.printf 즉 문자열 포멧을 사용할 수 있냐를 묻는 문제로도 내도 상관 없겠다고 생각하였다.

3. 여러 삽질 끝에 문자열 포멧에대해 배우게된 유익한 문제였다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday