카카오 코딩 테스트를 계기로 알고리즘 공부를 시작했다. 개인적인 기록과 블로그 포스팅 겸 정리해서 올려보려고 한다.
Compare the Triplets
https://www.hackerrank.com/challenges/compare-the-triplets/problem
Input Format
Output Result
Dev Code
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> scoreResult = new ArrayList<Integer>();
int aScore = 0, bScore = 0;
if (a.size() == b.size()) {
for (int i = 0; i < a.size(); i++) {
if (a.get(i) > b.get(i)) {
aScore++;
} else if (a.get(i) < b.get(i)) {
bScore++;
}
}
}
scoreResult.add(aScore);
scoreResult.add(bScore);
return scoreResult;
}
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();
}
}
Conclusion
Java8에 대한 개념이 없어 코드가 굉장히 어렵게 보인다. Java8에 어떤 기능이 추가됬으며, 무엇이 강점인지 찾아보고, Java8 부터 14버전까지 Java의 새로운 개념들에 대해 학습을 시작했다.