[문제]
양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.
[내 풀이]
class Solution {
public int solution(int n) {
int answer = 0;
if ( n % 2 == 0 ){
for( int i =1; i <= n; i++){
if (i % 2 ==0 ){
answer += (i*i);
}
}
}
else {
for ( int i =1; i <=n; i++){
if(i % 2 !=0){
answer += i;
}
}
}
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;
}
}
- for문에서 2씩 마이너스 -> 홀수면 계속 홀수가, 짝수면 계속 짝수가
- 그 후 삼항 연산자 이용해서 더하는 것 구현
'개발 > 코테' 카테고리의 다른 글
[JAVA] 주사위게임2 (0) | 2024.04.05 |
---|---|
[JAVA] 조건 문자열 (0) | 2024.04.04 |
[JAVA] 공배수 (0) | 2024.04.04 |
[JAVA] 두 수의 연산값 비교하기 (0) | 2024.04.04 |
[JAVA] 더 크게 합치기 (0) | 2024.04.02 |