※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 12778번 문제인 CTP공국으로 이민 가자이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/12778
12778번: CTP공국으로 이민 가자
신생국가 CTP공국은 자신들만의 글자가 없다. CTP공국의 왕 준형이는 전 세계 표준 언어인 알파벳을 사용하기로 했다. 하지만 숫자에 미친 사람들이 모인 CTP공국 주민들은 알파벳을 사용할 때 평
www.acmicpc.net
'A'부터 'Z'까지의 문자들은 아스키코드 상에서 차례대로 인접해있음을 이용하면 각 알파벳이 몇 번째 알파벳인지, 또는 몇 번째 알파벳이 어떤 문자인지를 덧셈과 뺄셈을 통해 계산해낼 수 있다.
반복분과 적절한 형변환을 이용한 구현을 통해 문제를 해결해주자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int T;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> T;
while (T--) {
int K; char c; cin >> K >> c;
if (c == 'C') {
while (K--) {
char x; cin >> x;
cout << (int)x - 'A' + 1 << ' ';
}
}
else {
while (K--) {
int x; cin >> x;
cout << (char)(x + 'A' - 1) << ' ';
}
}
cout << '\n';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 18411 // C++] 試験 (Exam) (0) | 2023.01.14 |
---|---|
[BOJ 18414 // C++] X に最も近い値 (The Nearest Value) (0) | 2023.01.14 |
[BOJ 6605 // C++] Humble Numbers (0) | 2023.01.14 |
[BOJ 18415 // C++] キャピタリゼーション (Capitalization) (0) | 2023.01.14 |
[BOJ 18413 // C++] 最頻値 (Mode) (0) | 2023.01.14 |