-
[백준/BOJ] 1527번 금민수의 개수 (C++)알고리즘 문제풀이/백준 2021. 11. 2. 16:51
https://www.acmicpc.net/problem/1527
간단한 완전탐색(브루트포스) 문제였다. 4와 7로 이루어진 1~9번째 자리의 숫자를 DFS로 모두 구해준 후, 이를 벡터에 저장했다. 그 후, 입력으로 들어온 a와 b 사이에 있는 값이 벡터에 몇개 들어있는지 찾으면 된다.
#include <iostream> #include <vector> #include <algorithm> using namespace std; int a, b, answer; vector<int> v; void DFS(int cnt, int len, string now) { if(cnt == len) { v.push_back(stoi(now)); return; } DFS(cnt + 1, len, now + "4"); DFS(cnt + 1, len, now + "7"); } int main(void) { //freopen("input.txt", "rt", stdin); ios_base::sync_with_stdio(false); cin.tie(0); cin >> a >> b; string num = ""; for(int i = 1; i <= 9; i++) { DFS(0, i, num); } for(int i = 0; i < v.size(); i++) { if(v[i] >= a && v[i] <= b) answer++; } cout << answer; }
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 1051번 숫자 정사각형 (C++) (0) 2021.11.16 [백준/BOJ] 1600번 말이 되고픈 원숭이 (C++) (0) 2021.11.04 [백준/BOJ] 2573번 빙산 (C++) (0) 2021.11.02 [백준/BOJ] 2206번 벽 부수고 이동하기 (C++) (0) 2021.10.29 [백준/BOJ] 5014번 스타트링크 (C++) (0) 2021.10.28