본문 바로가기
Algorithm

[백준 12025] 장난꾸러기 영훈

by YEON-DU 2020. 7. 26.
반응형

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

 

12025번: 장난꾸러기 영훈

희현이는 인터넷 ID를 만들 때 주로 쓰는 비밀번호가 있다. 하지만 이 비밀번호는 너무 길어서 희현이는 항상 쪽지에 적어 다니면서 확인을 한다. 하지만 장난꾸러기 영훈이는 이 쪽지를 가져가

www.acmicpc.net

#include <iostream>
using namespace std;

#define fastio() ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);

// 장난꾸러기 영훈

string password;
long long k;
long long n;

int main() {
    
    fastio();
    
    cin >> password >> k;
    n = k - 1;
    
    long long case_count = 1;
    for(int i = 0; i<password.size(); i++) {
        if(password[i] == '1' || password[i] == '2' || password[i] == '6' || password[i] == '7') {
            if(password[i] == '6')
                password[i] = '1';
            else if(password[i] == '7')
                password[i] = '2';
            case_count *= 2;
        }
    }
    
    if(case_count < k || k < 0) cout << -1 << endl;
    
    else {
        for (int i = password.length() - 1; i >= 0; i--)
        {
            if(password[i] == '1' || password[i] == '2' || password[i] == '6' || password[i] == '7')
            {
                if (n % 2 == 1)
                {
                    if(password[i] == '1')
                        password[i] = '6';
                    else if(password[i] == '2')
                        password[i] = '7';
                }
                n /= 2;
            }
        }
        
        cout << password << endl;
    }
    
    return 0;
}
반응형

'Algorithm' 카테고리의 다른 글

[백준 16000] 섬  (0) 2020.08.08
[백준 19236] 청소년 상어  (0) 2020.07.30
[백준 18809] Gaaaaaaaaaarden  (0) 2020.07.05
[백준 19238] 스타트 택시  (0) 2020.06.20
[백준 4358] 생태학  (0) 2020.06.15

댓글