[백준,BOJ 2231] 분해합(JAVA 구현)

2019. 11. 8. 14:26·CodingTest/백준 온라인 저지(BOJ)
반응형

-내 생각

  우선 알고리즘 공부를 시작하면서 자연수 n이 있을 때 각 자리수를 추출하는 방식은 공부했기 때문에 알고 있어서 푸는데 어려움은 없었다. 다만 반복문을 만들 때 범위를 어디까지 해야할까 생각해봤는데 자연수n의 범위가 1부터 1,000,000까지 였기 때문에 최소한 1,000,000을 넘는 생성자는 없다고 생각했다. 1,000,000의 경우에는 1,000,000+0+0+0+0+0+0+1 = 1,000,001이기 때문에 문제에서 주어진 자연수n의 범위를 초과하게 된다.

 

-해법

  비교적 간단하기 때문에 코드만 보고 이해가 가능할 것 같다.

 

import java.util.*;


public class Main {	
	public static boolean create(int x,int n) { // 생성자를 찾는 메소드
		int result = x;
		int temp = x;
		while(temp!=0) { // 전달된 정수가 만들 수 있는 결과를 찾는 과정 ex)2가 전달 될 경우 
        				 //result가 4가 되므로 2는 4의 생성자
			result += temp%10;
			temp/=10;
		}
		
		if(result == n) { // 이렇게 만들어진 정수가 입력받은 정수와 같다면
			
		return true; // 생성자가 존재하는 것.
		}
		else {return false;} // 그렇지 않다면 생성자가 존재하지 않는 것
		
	}
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		
		for(int i =1;i<1000000;i++) { // n의 범위만큼 반복
			if(create(i,n)) { // 생성자가 존재한다면,
				System.out.println(i); // i값을 출력, 1부터 비교하기 때문에 자연스레 최소값이 찾아진다.
				return;//프로그램 종료
			}
		}
		System.out.println(0);//범위를 모두돌아도 찾지 못하면 0을 출력
	}
	
}
저작자표시 (새창열림)
'CodingTest/백준 온라인 저지(BOJ)' 카테고리의 다른 글
  • [백준,BOJ 1018] 체스판 다시 칠하기(JAVA 구현)
  • [백준,BOJ 7568] 덩치(JAVA 구현)
  • [백준,BOJ 2798] 블랙잭(JAVA 구현)
  • [백준,BOJ 1080] 행렬 (JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    백준7576
    Java
    백준2751
    meidum
    백준1427
    프로그래머스
    medium
    백준1260
    component-scan
    boj1427
    자바
    next 14
    BOJ
    알고리즘
    boj2108
    leetcode 2236
    TypeScript
    백준
    백준7576자바
    Easy
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[백준,BOJ 2231] 분해합(JAVA 구현)
상단으로

티스토리툴바