반응형



두개의 Integer Array를 입력받아 비교하여 같은 인덱스 위치의 값을 비교하여 count한 list를 return 하는 문제
- 내코드
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;
public class Solution {
// Complete the compareTriplets function below.
static List<Integer> compareTriplets(List<Integer> a, List<Integer> b) {
List<Integer> resultList = new ArrayList<>();
resultList.add(0);
resultList.add(0);
for (int i = 0; i < a.size(); i++) {
if (a.get(i) > b.get(i)) {
resultList.set(0, resultList.get(0) + 1);
} else if (b.get(i) > a.get(i)) {
resultList.set(1, resultList.get(1) + 1);
}
}
return resultList;
}
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
List<Integer> a = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
.map(Integer::parseInt)
.collect(toList());
List<Integer> b = Stream.of(bufferedReader.readLine().replaceAll("\\s+$", "").split(" "))
.map(Integer::parseInt)
.collect(toList());
List<Integer> result = compareTriplets(a, b);
bufferedWriter.write(
result.stream()
.map(Object::toString)
.collect(joining(" "))
+ "\n"
);
bufferedReader.close();
bufferedWriter.close();
}
}
resultList에 초기값 0을 셋팅하고 for문을 돌며 +1 해준다.
문제 출처 : www.hackerrank.com
반응형
'Algorithm' 카테고리의 다른 글
Plus Minus (0) | 2020.10.10 |
---|---|
A Very Big Sum (0) | 2020.10.10 |
Simple Array Sum (0) | 2020.10.10 |
K번째 (0) | 2020.08.22 |
더 맵게 (0) | 2020.08.22 |