ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 특정 문자 뒤집기
    공부 2022. 2. 14. 22:19
    728x90

    제출한 코드는 다음과 같다.

     

    import java.util.*;
    public class inflearn1_5 {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner scanner=new Scanner(System.in);
            String str=scanner.next();
            String answer = solution(str);
            System.out.println(answer);
            return ;  
        }
        public static String solution(String str) {
            String answer = "";
            char[] a=str.toCharArray();
            int lt=0;
            int rt=str.length()-1;
            while(lt<rt){
                if(!Character.isAlphabetic(a[lt])){
                    lt++;
                }else if(!Character.isAlphabetic(a[rt])){
                    rt--;
                }else{
                    char temp=a[lt];
                    a[lt]=a[rt];
                    a[rt]=temp;
                    lt++;
                    rt--;
                }
            }
            answer=String.valueOf(a);
            return answer;  
        }
    }

    단어 뒤집기 강의에서 문자열을 toCharArray()를 이용하여 char 배열으로 변환한 후,

    오른쪽 끝과 왼쪽 끝을 rt, lt로 지정하고 이동하여,

    왼쪽 끝에 있던 lt의 위치가 오른쪽 끝에 있던 rt의 위치보다 클 경우

    전부 바꼈다고 볼 수 있어 while 문을 종료한다. 

     

    Character.isAlphabetic을 이용하여 알파벳인지 아닌지 파악하였다.

    알파벳이 아닌경우 lt 혹은 rt의 위치를 이동하였고,

    둘 다 알파벳인 경우 둘의 위치를 변경 시킨 후 lt와 rt의 위치를 이동하였다.

     

    String.valueOf를 이용하여 char 배열을 String으로 변환시켰다.

    728x90
    반응형

    '공부' 카테고리의 다른 글

    자바 스트림  (0) 2022.07.26
    자바 예외 처리  (0) 2022.07.26
    7계층 HTTP 프로토콜  (0) 2022.07.26
    자바 중복 문자 제거  (0) 2022.02.14
    자바 단어 뒤집기  (0) 2022.02.14

    댓글

Designed by Tistory.