doctscoder
하고싶은일있는개발
doctscoder
전체 방문자
오늘
어제
  • 분류 전체보기 (305)
    • 코테용 문제풀이 (304)
      • 백준 (272)
      • 알고스팟 (32)
    • 공부계획 (1)

최근 글

hELLO · Designed By 정상우.
doctscoder

하고싶은일있는개발

코테용 문제풀이/백준

분해합 풀이

2023. 1. 6. 09:02

문제 링크: https://www.acmicpc.net/problem/2231

백준 브루트 포스 2단계 - 2231번 분해합을 풀어보았다.

 

풀이: 분해합을 1부터 n까지 구해 비교한다.

파이썬의 경우, sum(map(int,str(i)))로 자릿수의 합을 구할 수 있다는 것을 알게 되었다.

 

C++

#include <iostream>
#include <vector>
using namespace std;
int main()
{
  int n;
  cin>>n;
	for(int i=1;i<n+1;i++)
	{
		int ii=i;
		int check=ii;
		while(ii>0)
		{
			check+=ii%10;
			ii/=10;
		}
		if(check==n)
		{
			cout<<i;
			break;
		}
		if(i==n) cout<<0;
	}
}

Python

n=int(input())
for i in range(1,n+1):
	num=sum(map(int,str(i)))+i # 분해합 구하기
	if num==n:
		print(i)
		break
	if i==n: # 생성자가 없는 경우
		print(0)

Java

 

저작자표시 비영리 변경금지 (새창열림)

'코테용 문제풀이 > 백준' 카테고리의 다른 글

체스판 다시 칠하기 풀이  (0) 2023.01.06
덩치 풀이  (0) 2023.01.06
블랙잭 풀이  (0) 2023.01.06
하노이 탑 이동 순서 풀이  (0) 2023.01.05
별 찍기 - 10 풀이  (0) 2023.01.05
    '코테용 문제풀이/백준' 카테고리의 다른 글
    • 체스판 다시 칠하기 풀이
    • 덩치 풀이
    • 블랙잭 풀이
    • 하노이 탑 이동 순서 풀이
    doctscoder
    doctscoder
    코딩 관련 공부를 적어놓는 블로그

    티스토리툴바