문제 - 모음 제거

풀이
class Solution {
public String solution(String my_string) {
StringBuilder sb = new StringBuilder();
for (char ch : my_string.toCharArray()) {
if (ch != 'a' && ch != 'e' && ch != 'i' && ch != 'o' && ch != 'u') {
sb.append(ch);
}
}
return sb.toString();
}
}
다른 풀이 - 모음에 해당하는 문자를 빈 칸으로 대체한다.
return myString.replaceAll("a|e|i|o|u", "");
문제 - 문자열 정렬하기(1)

풀이
import java.util.*;
class Solution {
public int[] solution(String my_string) {
my_string = my_string.replaceAll("[a-zA-Z]", "");
String[] arr = my_string.split("");
int[] answer = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
answer[i] = Integer.parseInt(arr[i]);
}
Arrays.sort(answer);
return answer;
}
}
설명
- my_string에 담긴 영어를 모두 ""으로 대체한다.
- 대체된 값을 arr 배열에 담는다.
- 남아있는 문자열을 answer 배열에 담고 int 타입으로 변환한다.
- answer 배열을 정렬하고 그 값을 리턴한다.
문제 - 숨어있는 숫자의 덧셈(1)

풀이
import java.util.Arrays;
class Solution {
public int solution(String my_string) {
int answer = 0;
my_string = my_string.replaceAll("[a-zA-Z]", "");
String[] arr = my_string.split("");
String number = Arrays.toString(arr);
for (String num : arr) {
answer += Integer.parseInt(num);
}
return answer;
}
}
설명
- 영어를 빈 칸으로 대체한다.
- 남아있는 값을 number에 저장한다.
- for 문으로 남아있는 값을 int로 변환하여 answer에 저장 후 리턴한다.
문제 - 소인수분해

풀이
import java.util.*;
class Solution {
public int[] solution(int n) {
ArrayList<Integer> tmpList = new ArrayList<>();
for(int i = 2; i <= n; i++) {
if(n % i == 0) {
while(n % i == 0) {
n /= i;
}
tmpList.add(i);
}
}
int[] answer = new int[tmpList.size()];
for(int i = 0; i < answer.length; i++) {
answer[i] = tmpList.get(i);
}
return answer;
}
}
설명
- i를 1부터 시작하면 무한 반복하기 때문에 2부터 시작한다.
- if 문은 나눴을 때 바로 0이 나오면 소수이기 때문에 바로 tmpList에 추가한다.
- while 문으로 나머지가 0이 나올 때까지 반복하고 그 값을 tmpList에 추가한다.
- 그 tmpList의 값을 answer 배열에 추가하여 리턴한다.