최종 코드(정답)
package baekjoon;
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine()); // 전체 입력줄 수
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= T; i++) {
String[] array = br.readLine().split(" ");
long gcdSum = 0;
for (int j = 1; j < array.length; j++) { //0번째는 탐색에서 제외해야 함. (길이를 나타내는 걸)
for (int k = j + 1; k < array.length; k++) {
System.out.println("j== k = " +( j== k));
if (j != k) { // 이 부분이 없어서 틀렸다.
gcdSum += gcd2(Integer.parseInt(array[j]), Integer.parseInt(array[k]));
}
}
}
sb.append(gcdSum).append("\n");
}
System.out.println(sb);
}
public static int gcd2(int v1, int v2) {
if (v2 == 0) {
return v1;
}
return gcd2(v2, v1 % v2);
}
}
문제 링크
https://www.acmicpc.net/problem/9613
결과
오답
원인
코멘트
gcd2()의 2는 의미가 없다;;(중복나서 그럼)
문제 자체 난이도는 어려운 편은 아니다;; 다들 long 타입에서 걸리는 듯.