본문 바로가기
자바 알고리즘

05. 특정 문자 뒤집기

by watergrace2u 2022. 4. 8.
반응형
SMALL
인프런 - 자바 알고리즘 강의

# 풀이


1. 문자열을 문자 배열로 바꾼다.
char[] s = str.toCharArray();

2. lt와 rt를 설정한 후, 문자배열에서 알파벳이면 lt와 rt를 교체하고,
알파벳이 아니면 그냥 lt++, rt—를 한다.

3. 문자배열을 다시 String으로 변환한다.
answer = String.valueOf(s);

import java.util.Scanner;
  
public class Main {

public String solution(String str){
  String answer = "";
  char[] s = str.toCharArray();
  int lt=0, rt=str.length()-1;
  while(lt<rt){
    // 알파벳이 아니면 그냥 lt증가, rt감소
    if(!Character.isAlphabetic(s[lt])) lt++;
    else if(!Character.isAlphabetic(s[rt])) rt--;
    else {
      // 알파벳이면 바꾸기
     char tmp = s[lt];
      s[lt] = s[rt];
      s[rt] = tmp;
      lt++; rt--;     
    }
  }
  // 문자배열 다시 String으로 변환
  answer= String.valueOf(s);
  return answer;
}

  public static void main(String[] args){
    Main T = new Main();
    Scanner kb =new Scanner(System.in);
    String str = kb.nextLine();
    System.out.println(T.solution(str));
    return ;
  }
}
반응형
LIST

'자바 알고리즘' 카테고리의 다른 글

07. 회문 문자열  (0) 2022.04.08
06. 중복 문자 제거  (0) 2022.04.08
04. 단어 뒤집기  (0) 2022.04.06
03. 문장 속 단어  (0) 2022.04.06
02. 대소문자 변환  (0) 2022.03.31

댓글