백준 1769 3의 배수 JAVA 풀이 (문자열, 구현, 수학)

2026. 4. 7. 20:52·코테(Solved.ac + Programmers)
728x90

🔗 문제 링크

https://www.acmicpc.net/problem/1769


📌 문제 개요

주어진 숫자 X에 대해 각 자리 숫자의 합을 반복하여 한 자리 수가 될 때까지 진행
이 과정의 횟수를 출력하고, 최종 결과가 3의 배수인지 판별하는 문제


📌 접근 방법

  • 숫자의 자릿수가 매우 크기 때문에 String으로 입력받는다
  • 각 자리 숫자를 더하는 과정을 반복한다
  • 한 자리 수가 될 때까지 while문을 사용한다
  • 반복 횟수를 카운트한다

📌 핵심 아이디어

  • 각 자리수의 합을 반복하면 결국 한 자리 수가 된다 (디지털 루트 개념)
  • 최종 값이 3으로 나누어 떨어지면 3의 배수
  • 문자열을 이용하여 자리수를 안전하게 처리하는 것이 중요

📌 전체 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String X = br.readLine();
        int cnt = 0;

        while (X.length() > 1){
            int sum = 0;

            for(int i = 0; i < X.length(); i++){
                sum += X.charAt(i) - '0';
            }

            X = String.valueOf(sum);
            cnt++;
        }

        System.out.println(cnt);

        int num = Integer.parseInt(X);

        System.out.println(num % 3 == 0 ? "YES" : "NO");
    }
}

📄 정리

이 문제는 단순 구현처럼 보이지만,
실제로는 디지털 루트 + 3의 배수 판별 개념이 핵심이다.

 

문자열을 이용해 큰 수를 처리하고,
자리수 합을 반복하는 패턴을 익혀두면 다양한 문제에 응용

728x90

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

백준 15688 수 정렬하기 5 JAVA 풀이 (정렬, 시간복잡도)  (0) 2026.04.09
백준 13301 타일 장식물 JAVA 풀이 (피보나치, DP)  (0) 2026.04.08
백준 1236 성 지키기 JAVA 풀이 (구현, 그리디)  (0) 2026.04.06
백준 5800 성적 통계 JAVA 풀이 (정렬, 구현)  (0) 2026.04.06
백준 2828 사과 담기 게임 JAVA 풀이 (그리디, 구현)  (0) 2026.04.04
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • 백준 15688 수 정렬하기 5 JAVA 풀이 (정렬, 시간복잡도)
  • 백준 13301 타일 장식물 JAVA 풀이 (피보나치, DP)
  • 백준 1236 성 지키기 JAVA 풀이 (구현, 그리디)
  • 백준 5800 성적 통계 JAVA 풀이 (정렬, 구현)
PUSH → MERGE → DEPLOY
PUSH → MERGE → DEPLOY
데이터 흐름과 운영 자동화를 설계하는 백엔드 개발자
  • PUSH → MERGE → DEPLOY
    Coding Dongin
    PUSH → MERGE → DEPLOY
  • 전체
    오늘
    어제
    • MEUN
      • 코테(Solved.ac + Programmers)
      • BootCamp(JAVA)
      • JAVA
      • SpringBoot
      • JavaScript
      • JSP
      • DB(SQL)
      • React
      • HTML_CSS
      • jQuery
      • SCSS
      • GSAP
      • 설치 + 꿀팁
      • 정보처리기사 오답노트
      • 정보처리기사 기출문제
  • 블로그 메뉴

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

    • GIT
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
백준 1769 3의 배수 JAVA 풀이 (문자열, 구현, 수학)
상단으로

티스토리툴바