[백준/C++] 11575 - Affine Cipher

orangesnail·2025년 5월 14일

백준

목록 보기
109/169

https://www.acmicpc.net/problem/11575


정답 코드

이 문제의 핵심은 알파벳을 정수로 변환하는 것이다.
s[j] - 'A'를 하면 자동으로 정수로 변환되어 계산이 된다!
맨 마지막에 정수를 다시 알파벳으로 되돌리려면 다시 +'A' 를 해줘야 한다.

#include <iostream>
using namespace std;

int main() {
    int t;
    cin >> t;

    for (int i = 0; i < t; i++) {
        int a, b;
        string s, answer = "";
        cin >> a >> b >> s;

        for (int j = 0; j < s.length(); j++) {
            answer += (char)(((a * (s[j] - 'A') + b) % 26) + 'A');
        }
        cout << answer << endl;
    }

    return 0;
}
profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글