-
우선 list 내 홀수와 짝수의 합을 구한 뒤 그 두 수를 더하면 된다. Arrays 클래스를 이용하였으며, 조금 더 간결하게 바꿀 수 있을 것 같긴 하다..
원소들을 덧셈 후 제곱과 곱셈으로 나누어 구한 후 비교해주면 된다. Arrays 클래스를 활용해서 구현했다. stream의 reduce()는 total, n으로 구성되어 원소들의 전체 연산을 손쉽게 할 수 있다.
조건이 여러가지 일 경우, 조건을 소거한다는 생각으로 접근한다. Math.pow 함수를 사용하면 제곱을 손쉽게 할 수 있다. 모두 다르거나 같거나라는 조금 더 접근하기 쉬운 조건으로 먼저 경우의 수를 소거한 다음 추가적인 조건을 계산한다.
등차수열에서 true만을 계산에 포함하면 된다. IntStream을 사용하면 조금 더 쉽게 처리할 수 있긴 하지만, 주어진 조건 내에서 처리하는 것은 이정도.. 점점 지문이 길고 어려워지는 것 같다.
오히려 지문을 이해하는데 시간이 더 걸렸던 듯.. 읽은대로 mode는 0 또는 1이 주어지는데 이를 flag로 삼아 조건의 변화를 추가하면 되는 문제. char형태에서 문자열 값 비교를 하려면 "로 묶는게 아니라 '로 묶어야 한다.
별다른 설명이 필요 없을 것 같다. 매우매우 기초 문제.
이럴 경우 조건식을 소거해간다는 느낌으로 구현하면 조금 쉬운 것 같다. 좀 더 멋지게 구현하고 싶었는데, 아쉬움이 많이 남는군..
n의 홀짝 여부를 판단 후 수행 로직을 다르게 구현하면 된다.