Search

둘만의 암호

알고리즘
연습문제
플랫폼
프로그래머스
JCF
상태
해결
생성 일시
2023/12/27 08:48
최종 편집 일시
2023/12/27 09:30

문제 설명

해결과정

Solution.java

class Solution { public String solution(String s, String skip, int index) { String answer = ""; String skipStr = replaceSkip(skip); int length = skipStr.length(); // System.out.println(length); // System.out.println(skipStr); for(int i = 0; i < s.length(); i++) { char c = s.charAt(i); // System.out.println("c : " + c); int seq = skipStr.indexOf(c) + index; // System.out.println("seq : " + seq); seq = seq % length; // System.out.println("seq : " + seq); char nc = skipStr.charAt(seq); answer += nc+""; } return answer; } // skip을 제외한 새로운 영어 소문자 모음 문자열 public String replaceSkip(String skip) { // 영어 소문자를 순서대로 넣은 새로운 문자열 생성 String str = ""; // 영어 a부터 z까지 넣기 for(int i = (int)'a'; i < (int)'z'+1; i++) { str += "" + ((char)i); } // 새로운 문자열에서 skip에 있는 문자들 제거하기 for(int i = 0; i < skip.length(); i++) { char c = skip.charAt(i); str = str.replace(""+c, ""); } return str; } } // System.out.print(); // System.out.println(); // for(int i = 0; i < s.length(); i++) { // char c = s.charAt(i); // int charIndex = (int)c; // char skipc = (char)(charIndex + index); // System.out.println(c + " index : " + charIndex + " skip : " + skipc); // }
Java
복사