코린이의 소소한 공부노트

[프로그래머스/Lv.0] l로 만들기 본문

코딩테스트 풀이/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(수정불요) 사용