[C++] 백준 1527번: 금민수의 개수

be_clever·2022년 3월 17일
0

Baekjoon Online Judge

목록 보기
119/172

문제 링크

1527번: 금민수의 개수

문제 요약

a 이상, b 이하의 4와 7로만 이루어진 수의 갯수를 구해야 한다.

접근 방법

재귀호출을 통해서 문자열에 '4', '7'을 추가합니다. 문자열을 정수형으로 변환해서, a 이상, b 이하인지 확인하면 됩니다.

코드

#include <bits/stdc++.h>

using namespace std;

int a, b, ans;
char arr[2] = { '4', '7' };
string str;

void func(int cnt) {
	if (cnt == 10)
		return;

	for (int i = 0; i < 2; i++) {
		str.push_back(arr[i]);
		long long num = stoll (str);

		if (num >= a && num <= b)
			ans++;

		func(cnt + 1);

		str.pop_back();
	}
}

int main(void) {
	cin >> a >> b;
	func(0);
	
	cout << ans;
	return 0;
}
profile
똑똑해지고 싶어요

0개의 댓글