반응형
SOL )
class Solution {
public int solution(int[] num_list) {
String odd = ""; // 홀수
String even = ""; // 짝수
for (int n : num_list) {
if (n % 2 == 0) {
even += Integer.toString(n);
} else {
odd += Integer.toString(n);
}
}
return Integer.parseInt(odd) + Integer.parseInt(even);
}
}
오늘 람다식과 Stream API에 대해서 열심히 공부했던 나는,,,
문제도 제대로 안읽고는 스트림을 사용해보겠다며 열심히 풀었다고 한다,,ㅎ
뒤늦게 왜 안되지..? 하면서 문제 다시읽어보고 그냥 for문과 if-else 사용해서 풀기,,
OTHER SOL )
class Solution {
public int solution(int[] num_list) {
String jjaksu = "";
String holsu = "";
for(int num : num_list) {
if(num % 2 == 0) {
jjaksu += num + "";
} else {
holsu += num + "";
}
}
return Integer.parseInt(jjaksu) + Integer.parseInt(holsu);
}
}
짝수 홀수 영어로 헷갈려서 검색하고 변수명 설정해주고, 또 헷갈릴게 뻔해서 주석도 남겨놨다.
근데 이런 신박한 방법이....!ㅋㅋㅋㅋㅋㅋㅋ
class Solution {
public int solution(int[] num_list) {
int answer = 0;
String even = "";
String odd= "";
for(int i : num_list) {
if(i%2==0) even += i + "";
else odd += i + "";
}
answer = Integer.parseInt(even) + Integer.parseInt(odd);
return answer;
}
}
또 if-else 문이 길어지는게 싫어서 한줄로 쓰고싶었는데, 이렇게 사용하는 방법도 있었다.
특히 num_list 에서 하나씩 빼고 odd/even 에 더해줄때 "" 를 같이 더해주면 Integer → String 변환이 필요없다는걸
또! 까먹었다!
언제쯤 자연스럽게 활용할수 있을까..!
반응형
'coding test > Java' 카테고리의 다른 글
프로그래머스 ) lv.0 ) Java ) 원소들의 곱과 합 (0) | 2023.06.22 |
---|---|
프로그래머스 ) lv.0 ) Java ) 주사위 게임 2 (0) | 2023.06.22 |
프로그래머스 ) lv.0 ) 등차수열의 특정한 항만 더하기 (0) | 2023.06.21 |
프로그래머스 ) lv.0 ) 조건 문자열 (0) | 2023.06.21 |
프로그래머스 ) lv.0 ) 홀짝에 따라 다른 값 반환하기 (0) | 2023.06.21 |
댓글