[백준] 2231번 분해합 (Python)

2021. 3. 15. 19:20·알고리즘/백준
728x90
반응형

문제

 

www.acmicpc.net/problem/2231

 

2231번: 분해합

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이

www.acmicpc.net

 

코드

a = int(input()) # a의 가장 작은 생성자를 구하시오

result = 0
for i in range(a): # 0 부터 a까지 for문 돌음

    result = i # 이전값 출력하기 위해서 저장해둠
    str_i = str(i) # 자릿수를 쉽게 더하기 위해 문자열로 변환
    for j in str_i:
        i += int(j) # ex) i = 198 + 1 + 9 + 8

    if i == a: # i 값이 입력값과 똑같다면
        print(result) # 저장해둔 값 출력
        break
else: # for에서 break가 한번도 안걸렸다면 생성자가 없는거기 떄문에 0출력
    print(0) 
    

 

 

코드설명

a가 주어졌을때 a의 가장 작은 생성자를 출력해야하는 문제이다.

a의 생성자는 a보다 작기 때문에 for문을 a까지 돌려서 생성자를 찾는다.

 

i를 분해합 진행하기위해 i값을 result에 저장한후 분해합을 진행한다.

분해합을 진행한뒤 i가 입력값 a랑 같다면 result에 저장된 값이 생성자이기 때문에 result를 출력해주면 된다.

 

for문이 break에 한번도 안걸렸다면 생성자가 없는경우이기 때문에 0을 출력해준다. 

반응형
저작자표시 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 11866번 요세푸스 문제 0 (Python)  (0) 2021.03.16
[백준] 1541번 잃어버린 괄호 (Python)  (0) 2021.03.16
[백준] 2798번 블랙잭 (Python)  (1) 2021.03.15
[백준] 2108번 통계학 (Python)  (0) 2021.03.15
[백준] 1260번 DFS와 BFS (Python)  (0) 2021.03.14
'알고리즘/백준' 카테고리의 다른 글
  • [백준] 11866번 요세푸스 문제 0 (Python)
  • [백준] 1541번 잃어버린 괄호 (Python)
  • [백준] 2798번 블랙잭 (Python)
  • [백준] 2108번 통계학 (Python)
wookcode
wookcode
공부한 내용들을 정리하고 기록하는 블로그입니다.
    반응형
  • wookcode
    wookcode
    wookcode
  • 전체
    오늘
    어제
    • 카테고리 (196)
      • study (1)
        • 아파치 카프카 애플리케이션 프로그래밍 with 자.. (0)
        • 인프런 (1)
      • Live Study (15)
      • Programming (14)
        • Java (8)
        • Python (1)
        • Springboot (5)
        • MSA (0)
      • 알고리즘 (117)
        • 백준 (58)
        • 프로그래머스 (59)
      • 에러로그 (5)
      • 항해99 (23)
      • 면접 (1)
      • 프로젝트 (1)
      • CS (19)
        • 네트워크 (2)
        • 운영체제 (2)
        • 데이터베이스 (2)
        • 컴퓨터구조 (1)
        • Java (8)
        • Spring (4)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    조합
    orm
    SFlash
    에러
    항해마켓
    인프런
    백준
    브루트포스
    SpringBoot
    김영한
    스파르타코딩클럽
    jpa
    알고리즘
    spring
    버그
    미니프로젝트
    카카오인턴
    그리디
    파이썬
    항해99
    java
    카카오코딩테스트
    해결
    후기
    괄호
    회고
    프로그래머스
    코딩테스트
    정리
    실전프로젝트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
wookcode
[백준] 2231번 분해합 (Python)
상단으로

티스토리툴바