※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 3285번 문제인 DECODE이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/3285
3285번: DECODE
The first and only line of output file should contain decoded, i.e. original text.
www.acmicpc.net
주어진 규칙에 따라 문자의 대응규칙을 나타내는 표를 만들어 문제를 해결해주자.
'A'부터 'Z'까지의 문자가 아스키코드에서 연속한 정수에 할당되어있음을 이용하고, 키워드에서 사용한 문자가 무엇인지를 기록하는 배열을 만들어둔다면 아래와 같이 대응규칙 표를 간단히 만들 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
char table[128];
bool visited[128];
string kword, s;
int idx;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> kword >> idx;
idx--;
for (auto& l : kword) {
visited[l] = 1;
table[l] = idx + 'A';
idx++;
if (idx == 26) idx = 0;
}
for (char c = 'A'; c <= 'Z'; c++) {
if (visited[c]) continue;
table[c] = idx + 'A';
idx++;
if (idx == 26) idx = 0;
}
cin >> s;
for (auto& l : s) cout << table[l];
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 3286 // C++] SHELVES (0) | 2023.09.02 |
---|---|
[BOJ 3287 // C++] CALC (0) | 2023.09.01 |
[BOJ 3278 // C++] EXCHANGE (0) | 2023.08.30 |
[BOJ 3277 // C++] DOMAINS (0) | 2023.08.29 |
[BOJ 2082 // C++] 시계 (0) | 2023.08.28 |