728x90
반응형
풀이 :
배열 X, 규칙을 찾아야 함. for문을 잘 사용해야 함
Code
public class Solution1493 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 1; tc <= T; tc++) {
int p = sc.nextInt();
int q = sc.nextInt();
int[] coordiP = getCoordi(p);
int[] coordiQ = getCoordi(q);
// 좌표 연산
int[] newCoordi = {coordiP[0] + coordiQ[0], coordiP[1] + coordiQ[1]};
// 좌표를 통해 값 구하기
int result = getValue(newCoordi);
System.out.println("#" + tc + " " + result);
}
}
// 값을 받아서, 좌표 구하기
private static int[] getCoordi(int value) {
int count = 1;
for (int i = 1;; i++) { // i는 1씩 계속 증가
for (int x = 1, y = i; x <= i; x++, y--) { // (1,1) -> (1,2) -> (2,1) -> (1,3) ->... 좌표마다 count로 ++하면서 값을 넣는 식
if (count == value) {
return new int[]{x, y}; // 좌표 구해서 배열에 넣기
}
count++;
}
}
}
// 좌표를 받아서, 값 구하기
private static int getValue(int[] coordi) {
int count = 1;
for (int i = 1;; i++) {
for (int x = 1, y = i; x <= i; x++, y--) {
if (x == coordi[0] && y == coordi[1]) {
return count;
}
count++;
}
}
}
}
728x90
반응형
'SWEA' 카테고리의 다른 글
swea 1873 [D3] 상호의 배틀필드 JAVA (2) | 2023.11.24 |
---|---|
swea 1860 [D3] 진기의 최고급 붕어빵 JAVA (2) | 2023.11.24 |
swea 1289 [D3] 원재의 메모리 복구하기 JAVA (1) | 2023.11.24 |
swea 1244 [D3] [S/W 문제 해결 응용] 2일차 - 최대 상금 JAVA (2) | 2023.11.24 |
swea 1240 [D3] [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드 JAVA (1) | 2023.11.24 |