프로그래머스 - 둘만의 암호

홍성진·2023년 2월 8일
0

프로그래머스 - 둘만의 암호

문자열을 다루는 문제입니다. 중간에 if (curInSkipChar(cur, skipChar))
이 부분은 함수로 따로 구현할 필요 없이 String에다 contains를 써서 다음과 같이 간단히 해결할 수 있습니다.
if (skip.contains(String.valueOf(cur)))


import java.util.*;

class Solution {
    public String solution(String s, String skip, int index) {
        String answer = "";
        char[] skipChar = skip.toCharArray();
        int total = "z".charAt(0) - "a".charAt(0) + 1;

        for (int i = 0; i < s.length(); i++) {
            int step = 0;
            char cur = s.charAt(i);
            while (step < index) {
                cur = (char) (((cur + 1) - "a".charAt(0)) % total + "a".charAt(0));;
                if (curInSkipChar(cur, skipChar)) { // 간단한 방법이 있습니다.
                    continue;
                }
                step++;
            }
            answer += Character.toString(cur);
        }

        return answer;
    }

    public boolean curInSkipChar(char cur, char[] skipChar) {
        for (char c : skipChar) {
            if (c == cur) {
                return true;
            }
        }
        return false;
    }
}

0개의 댓글