알고리즘 공부/C++

백준 11575번 Affine Cipher C++

마달랭 2024. 7. 21. 01:13
반응형

리뷰

어우 C++인데도 시간이 엄청걸렸다 최적화가 잘못된건가..

 

문제 풀이

  1. 각 테스트 케이스마다 a, b, s를 받아와 주고 각 문자열의 문자를 참조해 준다.
  2. 문자의 아스키코드를 65 + (a * 문자열의 아스키 코드 - 65) + b 를 26으로 나눈 나머지로 처리해 준다.
  3. 변경된 문자열 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
반응형