https://www.acmicpc.net/problem/12778
12778번: CTP공국으로 이민 가자
신생국가 CTP공국은 자신들만의 글자가 없다. CTP공국의 왕 준형이는 전 세계 표준 언어인 알파벳을 사용하기로 했다. 하지만 숫자에 미친 사람들이 모인 CTP공국 주민들은 알파벳을 사용할 때 평
www.acmicpc.net
c++로 백준 12778번 문제를 풀어보겠다.
문제
신생국가 CTP공국은 자신들만의 글자가 없다. CTP공국의 왕 준형이는 전 세계 표준 언어인 알파벳을 사용하기로 했다. 하지만 숫자에 미친 사람들이 모인 CTP공국 주민들은 알파벳을 사용할 때 평범한 알파벳이 아니라 쓰려고 하는 알파벳이 앞에서부터 몇 번째 알파벳인지를 의미하는 숫자로 나타낸다. 예를 들어 ‘A’는 ‘1’로, ‘Z’는 ‘26’로 나타낸다.
CTP공국은 현재 부흥 중이라 새로 국민이 되고자 하는 사람이 많다. 하지만 아무나 CTP공국의 국민이 될 수는 없는 법. CTP공국의 이민국장 인덕이는 이민 신청자들이 CTP 공국의 글자체계를 잘 알고 있는지 확인하는 시험문제를 내기로 했다.
시험문제는 두 가지 종류로 구분된다. CTP공국의 글자가 주어졌을 때 알파벳을 쓰는 문제와 알파벳이 주어졌을 때 CTP공국의 글자를 쓰는 문제 두 가지이다.
너무 많은 이민 신청자들 때문에 시험문제 채점에 골치가 아픈 인덕이를 위해 주어진 시험문제의 정답을 알려주는 프로그램을 작성하라.
입력
입력의 첫 줄에는 시험문제의 개수 T(1 ≤ T ≤ 50)가 주어진다.
각 시험문제의 첫 번째 줄에는 알파벳 또는 숫자의 개수 M(1 ≤ M ≤ 500) 과 문제의 종류를 나타내는 문자가 주어진다. 알파벳을 숫자로 바꾸는 문제인 경우에는 C, 숫자를 문자로 바꾸는 문제인 경우에는 N이 주어진다.
각 시험문제의 두 번째 줄에는 문제의 종류에 따라 공백을 구분으로 알파벳(A~Z, 대문자) 또는 수(1~26, 정수)가 M개 주어진다.
출력
각 시험문제의 정답을 출력한다. 출력이 알파벳인 경우 대문자로 출력한다.
예제 입력 1 복사
3
3 C
C T P
4 N
9 14 8 1
5 C
H E L L O
예제 출력 1 복사
3 20 16
I N H A
8 5 12 12 15
<문제 풀이>
1. T를 입력받는다.
2. for문을 T번 반복하며 주어진 문제를 해결한다.
- for 반복문 코드 내용 -
n과 ch를 입력받는다.
입력받은 ch가 'C'라면, 크기가 n인 char배열을 선언한 후 n개의 숫자를 입력받아 입력받은 숫자에 64를 빼 출력한다.
입력받은 ch가 'N'라면, 크기가 n인 int배열을 선언한 후 n개의 숫자를 입력받아 입력받은 숫자에 64를 더해 char형태로 출력한다.
한 줄 띄기를 출력한다.
다시 for문을 반복한다.
코드는 다음과 같다.
'C++' 카테고리의 다른 글
[백준 알고리즘] 1526번 : 가장 큰 금민수, c++ (0) | 2022.03.31 |
---|---|
[백준 알고리즘] 12780번 : 원피스, c++ (0) | 2022.03.30 |
[백준 알고리즘] 9946번 : 단어 퍼즐, c++ (0) | 2022.03.29 |
[백준 알고리즘] 10874번 : 이교수님의 시험, c++ (0) | 2022.03.29 |
[백준 알고리즘] 7510번 : 고급 수학, c++ (0) | 2022.03.28 |