Dev.baelanche

[백준 11575] Affine Cipher 본문

Data Structure & Algorithm/PS - JAVA

[백준 11575] Affine Cipher

baelanche 2019. 7. 20. 21:10
반응형

 

구현자체는 정말 쉬운 문제다.

for(int i=0; i<len; i++) {
    x = ch[i] - 'A';
    ch[i] = (char)(((a * x + b) % 26) + 'A');
}

수 치환은 위와 같은 방법으로 했다.

 

반복문안에서 함수호출을 하면 O(n^2)으로 시간초과가 발생하므로 이부분을 반!드!시! 조심해야 한다.

 

public class Main {
    
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        
        int a, b, x, t, len;
        char ch[];
        t = Integer.parseInt(br.readLine());
        while(t-->0) {
            st = new StringTokenizer(br.readLine());
            a = Integer.parseInt(st.nextToken());
            b = Integer.parseInt(st.nextToken());
            ch = br.readLine().toCharArray();
            len = ch.length;
            
            for(int i=0; i<len; i++) {
                x = ch[i] - 'A';
                ch[i] = (char)(((a * x + b) % 26) + 'A');
            }
            String s = new String(ch);
            System.out.println(s);
        }
    }
}

 

반복문안에서는 배열값을 바꿔만 주고 외부에서 출력해주었다.

 

시ㅂ

반응형

'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글

[백준 11580] Footprint  (0) 2019.07.23
[백준 11578] 팀원 모집  (0) 2019.07.23
[백준 13412] 서로소 쌍  (0) 2019.07.20
[백준 13423] Three Dots  (0) 2019.07.20
[백준 13422] 도둑  (0) 2019.07.20
Comments