알고리즘/문자열, 정렬

[알고리즘] 특정 문자 뒤집기 with Java, isAlphabetic()

VIPeveloper 2022. 2. 25. 22:51
728x90
반응형

알고리즘 3일차 공부..! 오늘은 12시에 야간 작업이 있어서 야간작업을 준비하면서 알고리즘 공부를 진행했다. 

오늘 배운 것

1. Character.isAlphabetic(c) 

python의 isAlpha처럼 유사한 기능을 가진 java기능이 많다는 것을 알게 되었다.. 신기ㅋㅋㅋ

System.out.println(Character.isAlphabetic('c'));	// true

2. 문제 풀이

두가지 방법으로 풀었다. 자바는 뭔가 코드가 되게 길다는 것을 느낀 하루였다.

import java.util.Scanner;

public class Main {

    public static String solution(String str) {
        String answer = "";
        int lt=0,rt=str.length()-1;
        char[] chars = str.toCharArray();
        while (lt < rt){
            if (!Character.isAlphabetic(chars[lt])){
                lt++;
            } else if (!isAlpha(chars[rt])) {
                rt--;
            }else{
                char tmp = chars[lt];
                chars[lt] = chars[rt];
                chars[rt] = tmp;
                lt++;
                rt--;
            }

        }
        answer = String.valueOf(chars);

        return answer;
    }

    private static boolean isAlpha(int rt) {
        return (65<=rt && rt <= 90) || (97<=rt && rt<=122);
    }

    public static void main(String[] args) {

        Scanner kb = new Scanner(System.in);
        String str = kb.next();
        System.out.println(solution(str));

    }
}
728x90
반응형