코딩테스트 풀이/JAVA
[프로그래머스/Lv.0] l로 만들기
무지맘
2023. 5. 1. 14:29
1. Input, Output, Example
- 알파벳 순서에서 "l"(엘)보다 앞서는 모든 문자를 "l"로 바꾼 문자열을
2. Constraint
1) 1 ≤ myString ≤ 100,000
2) myString은 알파벳 소문자로 이루어진 문자열이다.
3. Code
1) 첫 코드(2023/05/01)
class Solution {
public String solution(String myString) {
char[] c = myString.toCharArray();
for(int i=0 ; i<c.length ; i++)
if(c[i]<'l')
c[i] = 'l';
return new String(c);
}
}
2) 비교 코드(2023/05/01)
class Solution {
public String solution(String myString) {
StringBuilder sb = new StringBuilder(myString.length());
for(int i=0 ; i<myString.length() ; i++){
if(myString.charAt(i)<'l')
sb.append("l");
else
sb.append(myString.charAt(i));
}
return sb.toString();
}
}
- 1번이 더 빠름
- 싱글쓰레드에서는 StringBuilder(동기화x)>StringBuffer(동기화o)
- 멀티쓰레드에서는 StringBuffer(수정필요)/String(수정불요) 사용