프로그래머스 홀짝에 따라 다른 값 반환하기 JAVA 풀이 (조건문, 반복문)

2026. 7. 14. 14:56·코테(Solved.ac + Programmers)
728x90

🔗 문제 링크

 

프로그래밍 강의 | 프로그래머스 스쿨

국비지원 K-디지털 기초역량훈련 코스, K-디지털 트레이닝 코스, 선배 개발자와 함께하는 라이브 교육, 데이터 사이언스, PCCP/PCCE 자격증, 세미나, 각종 프로그래밍 기초부터 실전까지 원하는 강

school.programmers.co.kr


📌 문제 개요

정수 n이 주어질 때,

  • n이 홀수이면 n 이하의 홀수의 합을 반환
  • n이 짝수이면 n 이하의 짝수의 제곱의 합을 반환하는 문제입니다.
n = 7

1 + 3 + 5 + 7 = 16
n = 10

2² + 4² + 6² + 8² + 10²
= 4 + 16 + 36 + 64 + 100
= 220
 

📌 접근 방법

먼저 n이 홀수인지 짝수인지 확인합니다.

  • 홀수라면 1부터 2씩 증가하며 홀수의 합을 계산합니다.
  • 짝수라면 2부터 2씩 증가하며 짝수의 제곱을 더합니다.

반복문의 증가값을 2로 설정하여 필요한 숫자만 순회하도록 구현했습니다.

시간복잡도는 O(N) 입니다.


📌 핵심 아이디어

1. 홀수와 짝수 분기

n % 2를 이용하여 어떤 계산을 수행할지 결정합니다.

if (n % 2 == 0) {
    ...
} else {
    ...
}

2. 필요한 숫자만 순회

짝수라면 2부터 시작하여 2씩 증가합니다.

for (int i = 2; i <= n; i += 2) {
    answer += i * i;
}

홀수라면 1부터 시작하여 2씩 증가합니다.

for (int i = 1; i <= n; i += 2) {
    answer += i;
}

이렇게 하면 불필요하게 모든 숫자를 검사하지 않아도 됩니다.


3. 제곱 계산

짝수인 경우에는 숫자의 제곱을 더해야 합니다.

Math.pow()보다 정수 연산인 i * i가 더 간단하고 성능도 좋습니다.

answer += i * i;

📌 처리 흐름

n 입력
   │
   ▼
홀수인가?
   │
 ┌─┴────────────┐
 │              │
예             아니오
 │              │
홀수 합 계산    짝수 제곱 합 계산
 │              │
 └──────┬───────┘
        ▼
      결과 반환
 

📌 전체 코드

package level0;

public class No80 {
    public static void main(String[] args) {
        int n = 10;
        int answer = 0;

        if (n % 2 == 0) {
            for (int i = 2; i <= n; i += 2) {
                answer += i * i;
            }
        } else {
            for (int i = 1; i <= n; i += 2) {
                answer += i;
            }
        }

        System.out.println(answer);
    }
}
 

📄 정리

  • n의 홀짝 여부에 따라 계산 방식을 분기한다.
  • 반복문의 증가값을 2로 설정하여 필요한 숫자만 순회한다.
  • 짝수는 제곱의 합, 홀수는 합계를 계산한다.
  • 제곱은 Math.pow()보다 i * i를 사용하는 것이 간단하고 효율적이다.
  • 조건문과 반복문의 기본 개념을 함께 연습하기 좋은 문제이다.
728x90

'코테(Solved.ac + Programmers)' 카테고리의 다른 글

프로그래머스 n개 간격의 원소들 JAVA 풀이  (0) 2026.07.16
프로그래머스 n번째 원소부터 JAVA 풀이 (Level 0)  (0) 2026.07.15
프로그래머스 바탕화면 정리 JAVA 풀이|최소 드래그 영역 구하기  (0) 2026.07.12
프로그래머스 홀수 vs 짝수 JAVA 풀이 (StringBuilder 활용, 문자열 이어붙이기)  (0) 2026.07.11
프로그래머스 삼각형의 완성조건 (1) JAVA 풀이  (0) 2026.07.10
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • 프로그래머스 n개 간격의 원소들 JAVA 풀이
  • 프로그래머스 n번째 원소부터 JAVA 풀이 (Level 0)
  • 프로그래머스 바탕화면 정리 JAVA 풀이|최소 드래그 영역 구하기
  • 프로그래머스 홀수 vs 짝수 JAVA 풀이 (StringBuilder 활용, 문자열 이어붙이기)
PUSH → MERGE → DEPLOY
PUSH → MERGE → DEPLOY
데이터 흐름과 운영 자동화를 설계하는 백엔드 개발자
  • PUSH → MERGE → DEPLOY
    Coding Dongin
    PUSH → MERGE → DEPLOY
  • 전체
    오늘
    어제
    • MEUN N
      • 코테(Solved.ac + Programmers) N
      • BootCamp(JAVA)
      • JAVA
      • SpringBoot
      • JavaScript
      • JSP
      • DB(SQL)
      • React
      • HTML_CSS
      • jQuery
      • SCSS
      • GSAP
      • 설치 + 꿀팁
      • 정보처리기사 오답노트
      • 정보처리기사 기출문제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GIT
  • 공지사항

  • 인기 글

  • 태그

    Level2
    springboot
    정처기실기
    solved.ac
    프로그래머스
    실기
    기출문제
    정렬
    자바
    피보나치
    구현
    자료구조
    백준
    문자열
    배열
    백엔드개발자
    정보처리기사
    dp
    level0
    브루트포스
    java
    정처기오답노트
    정보처리기사 실기 기출문제
    level1
    코딩테스트
    알고리즘
    완전탐색
    수학
    시뮬레이션
    정처기
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
프로그래머스 홀짝에 따라 다른 값 반환하기 JAVA 풀이 (조건문, 반복문)
상단으로

티스토리툴바