728x90
https://school.programmers.co.kr/learn/courses/30/lessons/155652
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
메모리: 77.4 MB, 시간: 0.09 ms
사용 알고리즘: 문자열
class Solution {
public String solution(String s, String skip, int index) {
// 각 알파벳이 skip에 포함되는지 여부 확인
boolean[] inSkip = new boolean['z' - 'a' + 1];
for(int i = 0; i < skip.length(); i++) {
inSkip[skip.charAt(i) - 'a'] = true;
}
StringBuilder answer = new StringBuilder();
int now;
for(int i = 0; i < s.length(); i++) {
now = s.charAt(i) - 'a';
for(int j = 0; j < index; j++) {
now = now == 'z' - 'a' ? 0 : now + 1;
while(inSkip[now]) {
now = now == 'z' - 'a' ? 0 : now + 1;
}
}
answer.append((char)('a' + now));
}
return answer.toString();
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 133499] 옹알이 (2) (java) (0) | 2025.06.20 |
---|---|
[프로그래머스, 120805] 몫 구하기 (java) (0) | 2025.06.20 |
[프로그래머스, 12977] 소수 만들기 (java) (0) | 2025.06.02 |
[프로그래머스, 17681] [1차] 비밀지도 (java) (0) | 2025.05.26 |
[프로그래머스, 12918] 문자열 다루기 기본 (java) (0) | 2025.05.21 |