본문 바로가기
코딩테스트/프로그래머스 Lv.0

[코테/0레벨] 특정한 문자를 대문자로 바꾸기

by moca7 2025. 2. 11.

 

 

 

 

 

 

ㅁ 내 풀이

 

class Solution {
    public String solution(String my_string, String alp) {
        
        String[] sArr = new String[my_string.length()];
        sArr = my_string.split("");
        
        for(int i=0; i<my_string.length(); i++){
            if(sArr[i].equals(alp)){
                sArr[i] = sArr[i].toUpperCase();
            }
        }
        
        return String.join("", sArr);
    }
}

 

 

- split("")으로 문자열을 문자열 배열로 분할했다.

- charAt으로 하나하나 뽑고 equals()가 아닌 == 연산자로 비교할 수도 있음.

빈 문자열에 반복문으로 하나씩 더해서 반환.

 

- join() 메서드를 사용하여 문자열 배열을 문자열로 변환할 수 있다.

join() 메서드는 두 개의 인수를 가진다.

첫 번째 인수는 문자열의 요소를 구분하는 기호이며, 두 번째 인수는 문자열 배열이다. 

 

 

 

 

※ 소문자와 대문자 변환 메소드

- toUpperCase() : 대문자로 변환

- toLowerCase() : 소문자로 변환

- equalsIgnoreCase() : 대소문자 구분없이 문자열을 구분함.

 

 

 

 

ㅁ 다른 풀이

 

class Solution {
    public String solution(String my_string, String alp) {
        
        String[] sArr = new String[my_string.length()];
        sArr = my_string.split("");
        
     
        StringBuilder sb = new StringBuilder();
        
        for (int i = 0; i < sArr.length; i++) {
            
            if(sArr[i].equals(alp)){
                sb.append(sArr[i].toUpperCase());
            }else{
                sb.append(sArr[i]); 
            }
        }
        
        return sb.toString();
    }
}

 

 

- StringBuilder.toString()은 StringBuilder의 내용을 새로운 String 객체로 변환하는 메서드.

 

 

 

 

 

ㅁ 다른 풀이

 

class Solution {
    public String solution(String my_string, String alp) {
        String a = alp.toUpperCase();
        return my_string.replaceAll( alp, a);
    }
}

 

 

 

 

 

 

※ Arrays.toString() 메소드

 

 

- 문자열 배열을 문자열로 반환하지만 대괄호와 컴마로 구분됨.