[알고리즘문제풀기] l로 만들기

silver's avatar
Mar 20, 2025
[알고리즘문제풀기] l로 만들기

문제

내가 작성한 정답

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

silver