알고리즘 공부/C++
백준 11575번 Affine Cipher C++
마달랭
2024. 7. 21. 01:13
리뷰
어우 C++인데도 시간이 엄청걸렸다 최적화가 잘못된건가..
문제 풀이
- 각 테스트 케이스마다 a, b, s를 받아와 주고 각 문자열의 문자를 참조해 준다.
- 문자의 아스키코드를 65 + (a * 문자열의 아스키 코드 - 65) + b 를 26으로 나눈 나머지로 처리해 준다.
- 변경된 문자열 s를 출력해 준다.
참고 사항
없음
정답 코드
#include <iostream>
using namespace std;
int main() {
int t, a, b;
string s;
cin >> t;
while (t--) {
cin >> a >> b >> s;
int length = s.size();
while (length--) {
s[length] = 65 + ((a * s[length] - 65) + b) % 26;
}
cout << s << "\n";
}
}
728x90