Develop
[프로그래머스] 홀짝에 따라 다른 값 반환하기 본문
문제
내풀이
class Solution {
public int solution(int n) {
int answer = 0;
if(n % 2 == 0){ // 주어진 수가 짝수면 제곱+
while(n > 0){
answer += (n % 2 == 0)? n*n : 0 ;
n--;
}
}
else{ // 주어진 수가 홀수면 +
while(n > 0){
answer += (n % 2 == 1)? n : 0 ;
n--;
}
}
System.out.println(answer);
return answer;
}
}
다른 풀이
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = n; i >= 0; i -= 2)
answer += (n % 2 == 0) ? i * i : i;
return answer;
}
}
느낀점
풀면서 조금 더 줄일 수 있을것같더니
3항 연산자를 저렇게 이용해야 했다
하나씩 -- 하는 것만 생각했는데 -2를 하면 된단든 것을 알게 되었다
고친 코드
class Solution {
public int solution(int n) {
int answer = 0;
while(n > 0){
answer += (n % 2 == 0)? n*n : n ;
n-=2;
}
return answer;
}
}
이 코드가 제일 깔끔하고 좋은듯
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] X 사이의 개수 (0) | 2024.01.16 |
---|---|
[프로그래머스] 한 번만 등장한 문자 (0) | 2024.01.16 |
[프로그래머스] 진료 순서 정하기 (1) | 2024.01.13 |
[프로그래머스] 두 수의 연산값 비교하기 (0) | 2024.01.13 |
[프로그래머스] 더 크게 합치기 (0) | 2024.01.12 |