문제
풀이
import java.lang.StringBuilder;
class Solution {
public String solution(String myString) {
StringBuilder result = new StringBuilder();
for(int i = 0; i < myString.length(); i++) {
char currentChar = myString.charAt(i);
if(currentChar < 'l') {
result.append('l');
} else {
result.append(currentChar);
}
}
return result.toString();
}
}
class Solution {
public String solution(String myString) {
// ^: 부정(negation)을 의미함
// [l-z]: "l"에서 "z" 사이의 문자 범위
return myString.replaceAll("[^l-z]", "l"); // "l"부터 "z"까지의 범위를 제외한 모든 문자를 "l"로 대체
}
}
import java.util.stream.Collectors;
class Solution {
public String solution(String myString) {
return myString.chars() // 입력 문자열을 IntStream으로 변환(문자열의 각 문자에 대해 정수값 생성)
.mapToObj(i -> Character.toString(Integer.max(i, 'l'))) // IntStream의 각 요소를 문자로 매핑, 각 문자는 'l'과 비교되어 가장 큰 값을 선택하고 해당 값을 문자로 변환됨
.collect(Collectors.joining()); // 스트림의 모든 요소를 하나의 문자열로 연결
}
}
출처
https://school.programmers.co.kr/learn/courses/30/lessons/181834
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] Lv.0 / 정수를 나선형으로 배치하기 / Java (0) | 2024.03.14 |
---|---|
[Programmers] Lv.0 / 특별한 이차원 배열 1 / Java (0) | 2024.03.13 |
[Programmers] Lv.0 / 조건에 맞게 수열 변환하기 3 / Java (0) | 2024.03.12 |
[Programmers] Lv.0 / 그림 확대 / Java (0) | 2024.03.07 |
[Programmers] Lv.0 / 커피 심부름 / Java (0) | 2024.03.07 |
댓글