다희의 코딩 성장일기
[정올 Begginer_Coder - 도형만들기1] 2046.숫자 사각형4_자바JAVA 본문
문제 : 정올 2046.숫자 사각형4
입출력
풀이
1. 종류 1, 2, 3 배열을 다 따로 만든다.
2. 입력된 종류에 따라 해당 배열 출력
자세한 건 코드 주석 참고!
JAVA코드
package 도형만들기1;
import java.util.Scanner;
public class 숫자사각형4_2046 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //정사각형 한 변의 길이
int m = sc.nextInt(); //종류
//인덱스 1부터 넣기 위해 배열크기 1크게
int arr1[][] = new int [n+1][n+1]; //종류1 담을 배열
int arr2[][] = new int [n+1][n+1]; //종류 2
int arr3[][] = new int [n+1][n+1]; //종류 3
//값 넣기
for (int i = 1; i <= n ; i++) {
int val = i;
int c = n;
for (int j = 1; j <= n ; j++, val+=i) {
arr1[i][j] = i; //종류 1은 i행 값
arr3[i][j] = val; //종류 3은 val + i값
if( i % 2 == 0) { //종류 2는 짝수일 경우 거꾸로 출력.
arr2[i][j] = c--;
continue;
}
arr2[i][j] = j;
}
}
//배열 출력
for (int i = 1; i <= n ; i++) {
for (int j = 1; j <= n ; j++) {
if(m==1) {
System.out.print( arr1[i][j]+ " ");
}
else if(m==2) {
System.out.print(arr2[i][j] + " ");
}else {
System.out.print( arr3[i][j]+ " ");
}
}
System.out.println();
}
}
}
느낀점
시간은 평균정도 나왔는데
시간을 좀 더 줄여서 효율적으로 짜는 방법을 고민해봐야겠다.
'Algorithm > 정올' 카테고리의 다른 글
[정올 Begginer_Coder - 도형만들기1] 1314.문자사각형2_자바JAVA (0) | 2020.12.10 |
---|---|
[정올 Begginer_Coder - 도형만들기1] 1307.문자사각형_자바JAVA (0) | 2020.12.10 |
[정올 Begginer_Coder - 도형만들기1] 1304.숫자 사각형3_자바JAVA (0) | 2020.12.09 |
[정올 Begginer_Coder - 도형만들기1] 1856.숫자 사각형2_자바JAVA (0) | 2020.12.09 |
[정올 Begginer_Coder - 도형만들기1] 1303.숫자 사각형_자바JAVA (0) | 2020.12.09 |
Comments