CodeWars 서른 두 번째 문제
Updated:
Is my friend cheating?
public static List<long[]> removNb(long n) {
List<long[]> res = new ArrayList<long[]>();
long sum = (n*(n+1))/2 +1;
for(long i=3 ; i < n; i++) {
if(sum % i == 0 && (sum / i <= n)) {
res.add(new long[] {i-1, sum/i -1});
}
}
return res;
}
- 이번 문제는 테스트 예제의 1000003에서 걸렸다.
- 나는 문제 해석했을 때 최초로 나오는 쌍에 대해서만 출력하는줄 알았다.
- 그러나 1000003 처럼 여러개가 나오는 값들에 대해서도 다 출력해야 했다.
- 이 부분이 이 문제의 핵심인 것 같다.
- 권태형도 나랑 같은 실수했다. 기분이 좋다.