Notice
Recent Posts
Recent Comments
Link
DY N DY
실력키우기 별삼각형3(JAVA) 본문
1329 : 별삼각형3
제한시간: 1Sec 메모리제한: 32mb
해결횟수: 459회 시도횟수: 948회
삼각형의 높이 N을 입력받아 아래와 같은 모양을 출력하는 프로그램을 작성하시오.
[Copy]7 | [Copy]* *** ***** ******* ***** *** * |
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 29 30 31 32 33 34 35 36 37 38 39 40 | /************************************************************** Problem: 1329 User: a132034 Language: Java Result: Success Time:212 ms Memory:9968 kb ****************************************************************/ import java.util.Scanner; class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); //홀수 N을 입력받음. int N = sc.nextInt(); if (N % 2 == 0 || N > 100 || N < 1 ){ System.out.println( "INPUT ERROR!" ); return ; } for ( int i = 0 ; i < N/ 2 + 1 ; ++i) { for ( int j = 0 ; j < i; ++j) System.out.print( " " ); for ( int j = 0 ; j < 2 *i+ 1 ; ++j) System.out.print( "*" ); System.out.println(); } for ( int i = N/ 2 - 1 ; i >= 0 ; --i) { for ( int j = 0 ; j < i; ++j) System.out.print( " " ); for ( int j = 0 ; j < 2 *i+ 1 ; ++j) System.out.print( "*" ); System.out.println(); } } } |
이번 문제는 상당히 간단했다.
우선 홀수가 들어온다고 하였으므로 홀수가 아니거나 범위를 벗어나는 입력은 처리를 하였다.
홀수가 들어온다면 당연히
1~N 까지는 홀수 이므로 별이 늘어나는 구간과 줄어드는 구간으로 나눌 수 있었다.
" " 와 * 을 찍는 것은 눈으로 봐도 보일 정도로 규칙이 어렵지 않았다.
" "는 1개씩 증가하였고 *는 2개씩(홀수개로) 증가하였다.
'PARK > ALGORITHM' 카테고리의 다른 글
실력키우기 마방진(JAVA) (0) | 2016.05.13 |
---|---|
실력키우기 문자마름모(JAVA) (0) | 2016.05.12 |
실력키우기 약수와배수(C++) (0) | 2016.05.08 |
알고리즘 내리막길(JAVA) (0) | 2016.05.08 |
실력키우기 10진수를 2 8 16진수로(C++) (0) | 2016.05.08 |