https://school.programmers.co.kr/learn/courses/30/lessons/12951

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문자열의 단어 시작을 관리하고 첫 스펠링만 대문자로, 나머지는 소문자로 만드는 문제입니다. 

공백문자가 여러번 나올 수 있기 때문에 boolean으로 공백문자를 만날때 마다 새로운 단어로 판단하도록 체크했습니다.

대문자와 소문자 변환은 ascii 값을 이용했는데, 언어에서 제공하는 내부 메소드를 사용해도 간편하게 풀 수 있습니다.

 

class Solution {
    public String solution(String s) {
        char[] cArr = s.toCharArray();
        boolean flag = false;
        for(int i = 0; i < cArr.length; i++) {
            if(!flag && 97 <= (int)cArr[i] && (int)cArr[i] <= 122) {
                cArr[i] = (char)((int)cArr[i] - 32);
            }else if(flag && 65 <= (int)cArr[i] && (int)cArr[i] <= 90) {
                cArr[i] = (char)((int)cArr[i] + 32);
            }

            if(cArr[i] == ' ') {
                flag = false;
            }else {
                flag = true;
            }
        }

        return new String(cArr);
    }
}

 

728x90

+ Recent posts