< 문제 >
-
개요 숫자 삼각형 나열하기 N은 사용자로 부터 입력 받는다. 숫자는 차례로 1씩 증가하며, N번째 줄에 N개 만큼의 숫자가 놓여진다. 숫자를 아래의 예시와 같이 나열되게 해주는 함수를 구현하라.(5분)
-
예상 결과 예상 결과는 하기 코드 실행시 예상되는 결과 값이다.
1) 5 입력시
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
2) 10 입력시
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 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55
< 정답풀이 >
public class Test09 {
@SuppressWarnings( "resource" )
public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
System.out.println( "[숫자삼각형만들기]" );
System.out.println( "원하는 수 를 입력하세요 >> " );
int userInput = scan.nextInt();
// 시작시간 기록
long startTime = System.currentTimeMillis();
System.out.println( "\n[결과]" );
arryTriangle( userInput );
// 종료시간 기록
long endTime = System.currentTimeMillis() - startTime;
System.out.println( "소요시간 : " + endTime + "ms." );
}
/**
* <PRE>
* 사용자가 입력한 줄까지 숫자 삼각형을 만들어 출력한다.
* </PRE>
*
* @param userInput : 사용자 입력값(출력을 원하는 라인수)
*/
public static void arryTriangle( int userInput ) {
int num = 1; // 출력할 숫자
// 세로열
for ( int inx = 1 ; inx <= userInput ; inx++ ) {
// 가로열
for ( int jnx = 1 ; jnx <= inx ; jnx++ ) {
// 숫자 출력
System.out.print( num++ + " " );
}
// 모든 숫자를 출력하면 다음 행으로 이동.
System.out.println();
}
}
}