문제
내가 작성한 정답
String
class Solution {
public String solution(String myString) {
String[] al = {"a","b","c","d","e","f","g","h","i","j","k"};
for(String s : al){
myString = myString.replaceAll(s,"l");
}
return myString;
}
}
StringBuilder - char
class Solution {
public String solution(String myString) {
StringBuilder sb = new StringBuilder();
for(char c : myString.toCharArray()){
if(c<'l') sb.append('l');
else sb.append(c);
}
return sb.toString();
}
}
정규표현식
class Solution {
public String solution(String myString) {
return myString.replaceAll("[a-k]", "l");
}
}
다른 사람들의 정답
정규표현식
class Solution {
public String solution(String myString) {
return myString.replaceAll("[^l-z]", "l");
}
}
StreamAPI
import java.util.stream.Collectors;
class Solution {
public String solution(String myString) {
// myString의 각 문자를 int 형태로 스트림으로 변환
return myString.chars()
// 각 문자(int)를 객체(Character)로 변환하고, 'l'과 비교하여 더 큰 값을 선택
.mapToObj(i -> Character.toString(Integer.max(i, 'l')))
// 변환된 문자들을 하나의 문자열로 결합
.collect(Collectors.joining());
}
}
Share article