[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

2016년 8월 19일 금요일

[JAVA] Baekjoon 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 출력해 봅니다. (오른쪽 정렬)..

별출력 끝판왕이다.. 말이 좀 웃긴가.. 무튼 마지막 문제인데 5 to 1 을 해봤으니 당연히?? 자연스럽게 5 to 1 에 대한 오른쪽 정렬을 해봐야겠지.. ㅎㅎ

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

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

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

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

 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
26
27
28
package Code_201608;

import java.util.Scanner;

public class PrintForStarFour {

    @SuppressWarnings("resource")
    public static void main(String[] args) {
  
        Scanner scan = new Scanner(System.in);
  
        //int a = 5;
        int a = scan.nextInt();
  
        for(int i = 1; i <= a; i++) { //세로
   
            for(int j = 1; j <= i - 1; j++) { //가로, 공백을 우선 출력
                System.out.print(" ");
                //System.out.print("@");
            }
            for(int k = a; k >= i; k--) { //가로, 공백 제외한 공간을 * 로 출력
                System.out.print("*");
            }
            System.out.println("");
        }
    }

}//





이 문제 역시 고민을 좀 했는데.. 별 출력 4문제중에 제일 고민을 오래 했다.. ㅎㅎㅎㅎ.. 이놈의 실력이;;;


여기서도 역시나 난 공백을 어떻게 찍어야되지부터 고민의 첫 출발선이었다.. 우선 좌측에 공백을 찍는데 5 to 1 을 우측정렬을 해야되니까 좌측 공백은 0 to 4 가 되어야 한다.. 그러다보니 첫 for 는 1 부터 시작을 해서 세로 i 에 대해서 - 1 이 되어야 했다..

또한, 공백을 생각해서 찍어뒀으니 이제는 나머지 우측이 고민이었다.. 우측은 입력값에 대해서 역으로 줄여가면 되니 우선 첫 시작점은 a 였고, 그 다음은 세로 i 보다 크거나 같을 때까지 줄여나가면 출력이 정상적으로 됬다..

지금이야 물론 위와 같이 설명이 가능하지만 고민을 하면서 코딩을 할 때는 최종 제출하기전까지 많이 틀렸다.. 내가 스타일상 고민을 해서 한방에 짠!!! 하고 코딩하는 스타일이 아니어서 출력을 해보고 수정을 하면서 그 안에서 패턴을 찾고, 정답을 찾아냈다..

한방에 답을 찾으면 좋겠지만, 무엇보다 이정도의 초급 문제는 그래야 되는것이 당연할 수도 있지만 답을 찾아가는 과정이 더 중요하고 나 스스로 고민을 해보는 것이 중요하다고 생각하면서.. 별들이여 안녕.. 



댓글 없음:

댓글 쓰기