알고리즘 기초 - 12 (N행 N열 사각형 출력 (세로 Z자 모양으로))
Algorithm/풀었던문제 2019. 12. 16. 15:38이번에는 열이 고정되고 행이 변화되는 식으로 사각형을 출력 하여야한다. (열고정 행변화)
아까와는 반대로 중첩반복문을 사용할때 바깥쪽 for문에 열을 넣고, 안쪽 for문에 행을 넣어야 한다.
(그렇게 해야 행이 내가 입력한 숫자만큼 다 회전한 후에 열이 변화하기 때문이다.)
그리고 행이 1번 회전할때마다 num이라는 변수를 1씩 증가시켜서 배열안에 계속 넣어주면 된다.
Main.java
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 | package Problem12; import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("숫자를 입력하세요."); int n; Scanner scan = new Scanner(System.in); n = scan.nextInt(); //입력받은 숫자만큼의 크기를 가진 배열을 생성함. int [][] arr = new int [n][n]; //아까와는 다르게 열이 고정된 상태에서 행이 변화하는 사각형이다. //열고정 행변화이므로 아까와는 다르게 i와 j의 위치를 바꿔서 순서대로 값을 넣어준다. //값을 하나씩 넣어주어야 하므로 num이라는 변수를 추가해서 for문이 반복될 때마다 1씩 증가시켜 준다. int num = 1; for (int i = 0; i < n; i++) { for (int j = 0; j< n; j++) { arr[j][i] = num; num++; } } //배열에 담긴 값들을 출력하는 부분 for(int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%4d",arr[i][j]); } System.out.println(); } } } | cs |
출력 결과
출처
https://www.youtube.com/watch?v=omAFIdaREGg&list=PLVoihNyHW4xkm_KJ8_N8X7F6EQP4uSRyR&index=13
'Algorithm > 풀었던문제' 카테고리의 다른 글
알고리즘 기초 - 14 ( 숫자 갯수 출력 ) (0) | 2019.12.17 |
---|---|
알고리즘 기초 - 13 ( N행 N열 사각형 출력 ) (0) | 2019.12.17 |
알고리즘 기초 - 11 (N행 N열 사각형 출력 (ㄹ자 모양으로)) (0) | 2019.12.12 |
알고리즘 기초 - 10 (N행 N열 사각형 출력) (0) | 2019.12.12 |
알고리즘 기초 - 9 (각 자릿수 합 구하기) (0) | 2019.12.11 |