프로그래머스 홀수 vs 짝수 JAVA 풀이 (StringBuilder 활용, 문자열 이어붙이기)

2026. 7. 11. 23:59·코테(Solved.ac + Programmers)
728x90

🔗 문제 링크

 

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

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

school.programmers.co.kr


📌 문제 개요

정수 배열 num_list가 주어질 때,

  • 홀수만 순서대로 이어 붙인 수
  • 짝수만 순서대로 이어 붙인 수

를 만든 후 두 수의 합을 반환하는 문제

[3, 4, 5, 2, 1]

홀수 → 351
짝수 → 42

351 + 42 = 393
 

📌 접근 방법

배열을 한 번만 순회하면서

  • 짝수는 even
  • 홀수는 odd

StringBuilder에 각각 이어 붙였습니다.

순회가 끝난 뒤 문자열을 정수로 변환하여 더하면 됩니다.


📌 핵심 아이디어

1. 향상된 for문으로 배열 순회

배열의 인덱스를 사용할 필요가 없기 때문에 향상된 for문을 사용하면 코드가 더욱 간결해집니다.

for (int num : numList) {
    ...
}

2. 삼항 연산자로 StringBuilder 선택

짝수와 홀수를 구분하여 각각의 StringBuilder에 추가합니다.

(num % 2 == 0 ? even : odd).append(num);

기존이라면 작성할 수 있지만, 삼항 연산자를 사용하면 한 줄로 표현할 수 있습니다.

if (num % 2 == 0) {
    even.append(num);
} else {
    odd.append(num);
}

3. 문자열을 정수로 변환

모든 숫자를 이어 붙인 뒤 Integer.parseInt()를 이용하여 정수로 변환합니다.

이후 두 값을 더해 최종 결과를 반환합니다.

Integer.parseInt(even.toString())
Integer.parseInt(odd.toString())

📌 처리 흐름

배열 순회
      │
      ▼
짝수 → even 저장
홀수 → odd 저장
      │
      ▼
StringBuilder → String 변환
      │
      ▼
Integer.parseInt()
      │
      ▼
두 수를 더하여 반환
 

📌 전체 코드

package level0;

public class No78 {
    public static void main(String[] args) {
        int[] numList = {3, 4, 5, 2, 1};

        StringBuilder even = new StringBuilder();
        StringBuilder odd = new StringBuilder();

        for (int num : numList) {
            (num % 2 == 0 ? even : odd).append(num);
        }

        System.out.println(
                Integer.parseInt(even.toString())
                + Integer.parseInt(odd.toString())
        );
    }
}
 

📄 정리

  • 배열을 한 번만 순회하여 해결할 수 있는 문제이다.
  • StringBuilder를 사용하면 문자열을 효율적으로 이어 붙일 수 있다.
  • Integer.parseInt()를 이용해 문자열을 정수로 변환할 수 있다.
  • 삼항 연산자를 활용하면 조건에 따라 객체를 선택하는 코드를 간결하게 작성할 수 있다.
  • 향상된 for문을 사용하면 불필요한 인덱스 사용을 줄여 가독성을 높일 수 있다.
728x90

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

프로그래머스 홀짝에 따라 다른 값 반환하기 JAVA 풀이 (조건문, 반복문)  (0) 2026.07.14
프로그래머스 바탕화면 정리 JAVA 풀이|최소 드래그 영역 구하기  (0) 2026.07.12
프로그래머스 삼각형의 완성조건 (1) JAVA 풀이  (0) 2026.07.10
프로그래머스 문자열안에 문자열 JAVA 풀이 (Level 0)  (0) 2026.07.09
프로그래머스 크레인 인형뽑기 게임 JAVA 풀이 (2019 카카오 개발자 겨울 인턴십)  (0) 2026.07.08
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • 프로그래머스 홀짝에 따라 다른 값 반환하기 JAVA 풀이 (조건문, 반복문)
  • 프로그래머스 바탕화면 정리 JAVA 풀이|최소 드래그 영역 구하기
  • 프로그래머스 삼각형의 완성조건 (1) JAVA 풀이
  • 프로그래머스 문자열안에 문자열 JAVA 풀이 (Level 0)
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
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
프로그래머스 홀수 vs 짝수 JAVA 풀이 (StringBuilder 활용, 문자열 이어붙이기)
상단으로

티스토리툴바