시작하며
여러분 안녕하세요!
DreamHanks의 254cm입니다.
이번에는 로직 연습 문제와 그 해설에 대해서 작성하겠습니다.
Java의 전체 기사는 여기를 클릭해 주세요.
역삼각 숫자
java프로그램을 작성하여 아래와 같은 출력결과를 보여주시기 바랍니다.
해설
위의 이미지를 보시면 첫 번째 줄로
1 |
012345678910 |
0부터 10까지 출력되고 있습니다.
두 번째부터는 양쪽 숫자가 하나씩 줄어들고
1 2 3 4 5 |
123456789 2345678 34567 456 5 |
와 같이 됩니다.
0~10까지의 숫자를 한 줄씩 출력하는데 두 숫자를 줄여가며 출력하는 것이 포인트입니다.
즉, 0~10까지 출력하는 for, 양 끝의 숫자의 경우 처리를 나누는 if
위의 처리를 6회 반복하는 for가 필요합니다.
※위의 이미지는 6행을 출력하고 있으므로 6회 반복합니다.
하지만 양 끝의 숫자만 지우면 안 됩니다.
양쪽 숫자를 지우기만 하면
1 2 3 4 5 6 |
012345678910 123456789 2345678 34567 456 5 |
되어 문제의 이미지처럼 되지 않습니다.
지워진 숫자의 위치에 공간을 넣어서 역삼각형의 모습이 유지되도록 합니다.
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class LogicSample01 { public static void main(String[] args) { int[] a = new int[11]; for (int i = 0 ; i<a.length;i++) { a[i] = Integer.parseInt(args[i]); } for (int i= 0 ;i<6;i++) { for (int j = 0;j<a.length;j++) { if(j<i||j>a.length-i-1) { System.out.print(" "); } else { System.out.print(a[j]); } } System.out.println(); } } } |
끝으로
이번 기사는 이상입니다.
방문해 주셔서 감사합니다.
コメント