※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 25814번 문제인 Heavy Numbers이다.
문제는 아래 링크를 확인하자.

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

 

25814번: Heavy Numbers

There is only one input line; it contains two integers separated by exactly one space (blank). Assume each integer is between 1 and 1,000,000 (inclusive).

www.acmicpc.net

주어지는 정수를 문자열로 읽으면 각 자리의 합과 주어진 정수의 자리수를 각각 구하기 편리해진다.

 

위 두 값을 각각 구해 각 정수의 weight를 구하고 그 값을 비교하는 것으로 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	string s1, s2; cin >> s1 >> s2;
	int s1len = s1.length(), s2len = s2.length();
	int dsum1 = 0, dsum2 = 0;
	for (auto& l : s1) dsum1 += l - '0';
	for (auto& l : s2) dsum2 += l - '0';

	if (s1len * dsum1 > s2len * dsum2) cout << 1;
	else if (s1len * dsum1 < s2len * dsum2) cout << 2;
	else cout << 0;
}
728x90

+ Recent posts