[Programmers][Java] 대문자와 소문자

Myung A Lee·2023년 7월 31일
0

CodingTest

목록 보기
5/11
post-thumbnail

[level 0] 대문자와 소문자 - 문제 링크

문제 설명

문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.


제한사항
  • 1 ≤ my_string의 길이 ≤ 1,000
  • my_string은 영어 대문자와 소문자로만 구성되어 있습니다.

입출력 예
my_string result
"cccCCC" "CCCccc"
"abCdEfghIJ" "ABcDeFGHij"

나의 답안

이번에도 아스키코드를 활용하는 방식으로 문제를 풀었다.
다른 사람들의 풀이를 보니 StringBuilder를 사용하는 경우가 종종 보여 활용하기 좋은 메서드 같이 정리 해둔다.

class Solution {
    public String solution(String my_string) {
        char[] charArr = my_string.toCharArray();

        for (int i = 0; i < charArr.length; i++) {
            char c = charArr[i];
            if (c >= 'A' && c <= 'Z') {
                charArr[i] = (char) (c + 32);
            } else {
                charArr[i] = (char) (c - 32);
            }
        }
        String answer = String.valueOf(charArr);
        return answer;
    }
}

StringBuilder

문자열을 가변적으로 처리할 수 있도록 도와주는 클래스로 StringBuilder는 내부적으로 가변적인 char 배열을 사용하며, 문자열을 변경하는 작업은 기존 객체를 수정하여 수행된다. 이로 인해 문자열을 효율적으로 처리할 수 있으며, 큰 문자열을 빠르게 조작할 때 유용하다.

StringBuilder의 주요 메서드

append(String str) 문자열 뒤에 지정한 문자열을 추가
insert(int offset, String str) 지정한 위치(offset)에 문자열을 삽입
replace(int start, int end, String str) 지정한 범위의 문자열을 새로운 문자열로 대체
delete(int start, int end) 지정한 범위의 문자열을 삭제
reverse() 문자열을 순서를 역순으로 반환
toString() StringBuilder 객체를 String 객체로 변환하여 반환

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

0개의 댓글