작성일 :

문제 링크

6321번 - IBM 빼기 1

설명

알파벳 대문자로 이루어진 문자열이 주어졌을 때,

각 글자를 알파벳의 다음 글자로 바꾸는 작업을 수행하는 문제입니다.

  • 예: HALIBM, SWERCTXFSD
  • 단, 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;
}