티스토리 뷰

 

구현하면 되는 쉬운 문제다

 

A와 B가 자리수가 같기 때문에 최대 보는게 100만개고 최대 자리수가 6자리다

 

그냥 구현하는데 중복을 제거하기 위해 set을 사용했다!

중복을 그대로 세면 틀린다!

 

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <algorithm>
#include <string>
#include <set>
using namespace std;
int x, y;
string Y;
int solve(string s) {
    int ret = 0;
    int n = stoi(s);
    int len = s.length();
    set<pair<intint>> st;
    for (int i = 1; i < len; i++) {
        string temp = s.substr(i, len - i) + s.substr(0, i);
        if (n < stoi(temp) && stoi(temp) <= y && (s.length() == temp.length())) st.insert({ n,stoi(temp) });
    }
    return st.size();
}
 
string change(int num) {
    string ret = "";
    while (num) {
        ret += (num % 10+ '0';
        num /= 10;
    }
    reverse(ret.begin(), ret.end());
    return ret;
}
 
int main() {
    scanf(" %d %d"&x, &y);
    int ans = 0;
    for (int i = x; i < y; i++) ans += solve(change(i));
    printf("%d\n", ans);
}
 
 

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

[백준] 17471 게리맨더링  (0) 2020.02.08
[백준] 16637 괄호 추가하기  (0) 2020.02.08
[백준] 12919 A와 B 2  (0) 2020.02.07
[백준] 12945 재미있는 박스 정리  (0) 2020.02.05
[백준] 10800 컬러볼  (0) 2020.02.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함