[JAVA 문제 풀이] 298. 둘만의 암호

프로그래머스 (155652)
Stupefyee's avatar
Jun 04, 2025
[JAVA 문제 풀이] 298. 둘만의 암호
notion image
 

내가 작성한 코드

class Solution { public String solution(String s, String skip, int index) { StringBuilder answer = new StringBuilder(); for (char c : s.toCharArray()) { char nextChar = c; // 1단계씩 다음 문자로 이동 for (int i = 0; i < index; i++) { nextChar++; // 만약 'z'를 넘어가면 'a'로 돌아감 if (nextChar > 'z') { nextChar = 'a'; } // skip에 포함된 문자는 건너뜀 if (skip.indexOf(nextChar) != -1) { i--; continue; } } answer.append(nextChar); } return answer.toString(); } }
 

다른 사람의 코드

class Solution { public String solution(String s, String skip, int index) { StringBuilder answer = new StringBuilder(); for (char letter : s.toCharArray()) { char temp = letter; int idx = 0; while (idx < index) { // 현재 문자가 'z'라면 'a'로 변경, 아니면 다음 문자로 temp = temp == 'z' ? 'a' : (char) (temp + 1); // 변환한 문자가 skip 문자열에 포함되어 있지 않다면 인덱스 증가 if (!skip.contains(String.valueOf(temp))) { idx += 1; } } answer.append(temp); } return answer.toString(); } }
 
Share article

stupefyee