[프로그래머스] 홀짝에 따라 다른 값 반환하기

2026. 5. 15. 00:45·PS

 

 

처음 문제를 읽고 직관적으로 떠오른 방법부터 소개한다.

1. n이 홀수와 짝수인 경우를 나눈다.

2-1. n이 홀수인 경우 1부터 n까지 순회하며 홀수만 더한다.

2-2. n이 짝수인 경우 1부터 n까지 순회하며 짝수만 제곱해서 더한다.

3. sum을 출력한다.

 

class Solution {
    public int solution(int n) {
        int sum = 0;

        // n이 홀수인 경우
        if (n % 2 == 1) {

            // 1부터 n까지 전부 순회
            for (int i = 1; i <= n; i++) {

                // 홀수만 더하기
                if (i % 2 == 1) {
                    sum += i;
                }
            }

        // n이 짝수인 경우
        } else {

            // 1부터 n까지 전부 순회
            for (int i = 1; i <= n; i++) {

                // 짝수만 제곱해서 더하기
                if (i % 2 == 0) {
                    sum += i * i;
                }
            }
        }

        return sum;
    }
}

 

 

이미 n이 홀수인 경우와 짝수인 경우를 나눴는데 i까지 전부 순회하며 홀수/짝수를 판별해야 하나..?

더 최적화할 수 있는 방법은 없을까?

 

최적화 할 수 있는 방법이 떠올랐다.

1. i의 시작점을 케이스에 맞게 수정한다.

2. i를 2씩 증가시킨다.

 

class Solution {
    public int solution(int n) {
        int sum = 0;
        
        if (n % 2 == 1) {
            for (int i=1; i<=n; i+=2) {
                sum += i;
            }
        } else {
            for (int i=2; i<=n; i+=2) {
                sum += i*i;
            }
        }
        
        return sum;
    }
}

 

매우 쉽고 간단한 문제지만 처음 들었던 생각에서 개선할 수 있는 점이 존재하기 때문에 블로그에 남겨본다.

'PS' 카테고리의 다른 글

[프로그래머스] 이상한 문자 만들기  (0) 2026.06.25
[프로그래머스] 최대공약수와 최소공배수  (0) 2026.06.23
[프로그래머스] 두 개 뽑아서 더하기  (1) 2026.06.12
[프로그래머스] 원하는 문자열 찾기  (0) 2026.06.02
이곳은 나의 PS 복습을 위한 공간입니다.  (0) 2026.05.15
'PS' 카테고리의 다른 글
  • [프로그래머스] 최대공약수와 최소공배수
  • [프로그래머스] 두 개 뽑아서 더하기
  • [프로그래머스] 원하는 문자열 찾기
  • 이곳은 나의 PS 복습을 위한 공간입니다.
JK-LEE98
JK-LEE98
백엔드 개발자
  • JK-LEE98
    JK-LEE98
    JK-LEE98
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 나의 지식 공유 (4)
      • SQL (4)
      • PS (10)
      • BackEnd (32)
        • Java (3)
        • Spring (4)
        • 내일배움캠프 (20)
        • 프로그래머스 데브코스 (5)
      • 건강한 나 되기🍀 (10)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
JK-LEE98
[프로그래머스] 홀짝에 따라 다른 값 반환하기
상단으로

티스토리툴바