[백준 6321] IBM 빼기 1 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
알파벳 대문자로 이루어진 문자열이 주어졌을 때,
각 글자를 알파벳의 다음 글자로 바꾸는 작업을 수행하는 문제입니다.
- 예:
HAL
→IBM
,SWERC
→TXFSD
- 단,
Z
의 다음 글자는 다시A
가 됩니다.
접근법
- 문자열의 각 글자를 순회하며, 알파벳 다음 글자로 변환합니다.
- 알파벳
Z
는 순환 구조에 따라A
로 바뀌어야 합니다. - 출력 형식을 맞추기 위해 각 컴퓨터에
"String #i"
형식의 타이틀을 붙여 출력합니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
class Program {
static void Main() {
int n = int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++) {
string input = Console.ReadLine();
Console.WriteLine($"String #{i}");
foreach (char c in input) {
if (c == 'Z') Console.Write('A');
else Console.Write((char)(c + 1));
}
Console.WriteLine("\n");
}
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int cnt; cin >> cnt;
for (int i = 1; i <= cnt; i++) {
string s; cin >> s;
cout << "String #" << i << "\n";
for (char c : s)
cout << (c == 'Z' ? 'A' : char(c + 1));
cout << "\n\n";
}
return 0;
}