문제: 코딩테스트 연습 - 모음 제거 | 프로그래머스 스쿨 (programmers.co.kr)
문제설명
영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- my_string은 소문자와 공백으로 이루어져 있습니다.
- 1 ≤ my_string의 길이 ≤ 1,000
입출력 예
my_string | result |
"bus" | "bs" |
"nice to meet you" | "nc t mt y" |
나의 문제 풀이
// 풀이1
import java.util.ArrayList;
class Solution {
public String solution(String my_string) {
String answer = "";
char[] c = {'a', 'e', 'i', 'o', 'u'};
ArrayList<Character> list = new ArrayList<>();
for (int i = 0; i < my_string.length(); i++) {
char r = my_string.charAt(i);
boolean t = true;
for (Character j : c) {
if(j == r) {
t = false;
break;
}
}
if(t == true) list.add(r);
}
for (Character i : list) {
answer += i;
}
return answer;
}
}
// 풀이2
class Solution {
public String solution(String my_string) {
String answer = my_string;
String[] s = new String[]{"a", "e", "i", "o", "u"};
for(String i : s){
if(answer.contains(i)){
answer = answer.replace(i, "");
}
}
return answer;
}
}
다른 사람의 문제풀이
//다른사람 풀이1
class Solution {
public String solution(String my_string) {
String answer = "";
answer = my_string.replaceAll("[aeiou]", "");
return answer;
}
}
//다른사람 풀이2
class Solution {
public String solution(String my_string) {
String answer = "";
answer = my_string.replaceAll("a|e|i|o|u", "");
return answer;
}
}
//다른사람 풀이3
class Solution {
public String solution(String my_string) {
String answer = "";
answer = my_string.replaceAll("[a,e,i,o,u]","");
return answer;
}
}
//다른사람 풀이4
class Solution {
public String solution(String my_string) {
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", "");
return my_string;
}
}
느낀점
정규식을 사용한 방법이 너무 간단해서 허무했다...
다른사람 풀이를 보면 이렇게 해야지 하고는 막상 문제풀 때는 생각이 안나는건 왜일까..ㅠ
'코딩테스트 연습 > 프로그래머스 LV.0' 카테고리의 다른 글
[프로그래머스] Lv.0 합성수 찾기 - 자바(Java) (0) | 2024.04.03 |
---|---|
[프로그래머스] Lv.0 팩토리얼 - 자바(Java) (0) | 2024.03.28 |
[프로그래머스] Lv.0 문자열 정렬하기 (1) - 자바(Java) (2) | 2024.03.26 |
[프로그래머스] Lv.0 숨어있는 숫자의 덧셈 (1) - 자바(Java) (0) | 2024.03.24 |
[프로그래머스] Lv.0 소인수분해 - 자바(Java) (0) | 2024.03.23 |