프로그래머스 - level 0 배열의 길이에 따라 다른 연산하기
class Solution {
public int[] solution(int[] arr, int n) {
int[] answer = new int[arr.length];
if(arr.length % 2 == 0) {
for(int i=0; i<arr.length; i++) {
if (i%2 == 0)
answer[i] = arr[i];
else
answer[i] = arr[i]+n;
}
} else {
for(int i=0; i<arr.length; i++) {
if (i%2 == 0)
answer[i] = arr[i]+n;
else
answer[i] = arr[i];
}
}
return answer;
}
}
▼ for문 안에 삼항 연산자를 넣은... 신기한 풀이... 심지어 그걸로 짝 홀 가려버리는...
class Solution {
public int[] solution(int[] arr, int n) {
for(int idx=arr.length%2==0?1:0; idx<arr.length; idx+=2) {
arr[idx]+=n;
}
return arr;
}
}
▼ 그리고 언제봐도 신기한 stream 풀이... 하...
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] arr, int n) {
return IntStream.range(0, arr.length)
.map(i -> arr[i] + (i % 2 == (arr.length % 2 == 0 ? 1 : 0) ? n : 0))
.toArray();
}
}
나도 저렇게 풀어보고 싶다 → 근데 문제 보면 우왕좌왕 하다가 걍 아는 방법으로 풀고 있음... 풀기 전에 고민을 더 해봅시다...
'Study with me > 프로그래머스 L0 마스터하기' 카테고리의 다른 글
프로그래머스 - L0 뒤에서5등위로 // Stream & IntStream (0) | 2023.12.13 |
---|---|
프로그래머스 - L0 n개간격의원소들 // toArray() (0) | 2023.12.12 |
프로그래머스 - L0 뒤에서5등까지 (0) | 2023.12.11 |
프로그래머스 - L0 문자열바꿔서찾기 // String class method (0) | 2023.12.11 |
프로그래머스 - L0 접미사인지확인하기 (1) | 2023.12.08 |