[프로그래머스] 문자열 바꾸기

Drumj·2023년 3월 9일
0

오늘의 학습

백준과 프로그래머스를 번갈아 가면서 코딩테스트 문제들을 풀고 있다.

둘 다 걸음마 수준으로 브론즈와 Lv.0 이다.

오늘 문제를 풀면서 Stringreplace,replaceAll 을 알게 돼서 작성한다. 분명 어디선가 배웠던것 같은데 기억이 안난다... 덕분에 되게 돌아돌아 풀었기 때문에 기록하면서 기억하자.


간단한 예제

String my_string = "nice to meet you";
String answer = my_string.replaceAll("[aeiou]", "");

영어 모음인 a,e,i,o,u를 없애는 코드이다.

해당 메서드를 찾아보는 과정에서 replacereplaceAll의 차이를 알게 되었다.

replace(char oldChar, char newChar)
replaceAll(@NotNull String regex, @NotNull String replacement)

나는 인텔리제이를 사용 중인데 인텔리제이에서 해당 메서드를 부르면 어떤 값을 넣어줘야 하는지 친절하게 알려준다.

replace는 char 를 넣어서 그냥 해당 문자를 다른 문자로 바꾸는 것이고
replaceAll은 regex, 즉 정규표현식을 넣어줘야 한다는 것이다.

만약 replace를 사용해서 모음을 없애려면 아래 코드처럼 작성하면 된다.

String my_string = "nice to meet you";

my_string = my_string.replace("a","");
my_string = my_string.replace("e", "");
my_string = my_string.replace("i", "");
my_string = my_string.replace("o", "");
my_string = my_string.replace("u", "");

어떤 차이가 있는지 이해가 되는가?? 정규표현식을 사용하는 메서드와
char를 활용해서 바꿔치는 하는 메서드의 차이이다!


마무으리

지식이 부족해서 잘 설명을 했는지 모르겠는데... 혹시 모자라면
구글형님에게 물어보십쇼... 진짜 정리 잘 되어 있습니다 ㅎㅎ
제 방식대로 정리하다 보니 잘 했는지 모르겠네용

0개의 댓글