728x90

  • 알파벳만 뒤집기

public class Main {
    public String solution(String s) {
        String answer = "";
        String alphabet = "";
        for (int i = 0; i < s.length(); i ++) {
            if (Character.isAlphabetic(s.charAt(i))) {
                alphabet += s.charAt(i);
            }
        }
        alphabet = new StringBuffer(alphabet).reverse().toString();
        int pos = 0;
        for (int i = 0; i < s.length(); i ++) {
            if (Character.isAlphabetic(s.charAt(i))) {
                answer += alphabet.charAt(pos ++);
            } else {
                answer += s.charAt(i);
            }
        }
        return answer;
    }
    public static void main(String[] args) {
        Main T = new Main();
        String s1 = "a#b!GE*T@S";
        String s2 = "###ab*@@Sty";
        System.out.println(T.solution(s1));
        System.out.println(T.solution(s2));
    }
}
public class Main {
    public String solution(String s) {
        String answer = "";
        char[] str = s.toCharArray();
        int lt = 0,
        rt = s.length() - 1;
        while (lt < rt) {
            if (!Character.isAlphabetic(str[lt])) 
                lt ++;
             else if (!Character.isAlphabetic(str[rt])) 
                rt --;
             else {
                char tmp = str[lt];
                str[lt] = str[rt];
                str[rt] = tmp;
                lt ++;
                rt --;
            }
        }
        answer = String.valueOf(str);
        return answer;
    }
    public static void main(String[] args) {
        Main T = new Main();
        String s1 = "a#b!GE*T@S";
        String s2 = "###ab*@@Sty";
        System.out.println(T.solution(s1));
        System.out.println(T.solution(s2));
    }
}


< 실행 결과 >
S#T!EG*b@a
###yt*@@Sba

반응형

'전.java' 카테고리의 다른 글

[Java] 회문 문자열  (0) 2024.04.07
[Java] 문자열 압축  (0) 2024.04.07
[Java] 수열의 경우수  (0) 2023.02.01
[Java] 최대 길이 바이토닉  (0) 2023.02.01
[Java] 바이토닉 수열  (0) 2023.01.31
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기