반응형

문제풀이

 1. 공백 이후의 첫자가 알파벳이면 대문자로 바꾼다.

 2. 두번째 이후의 글자가 알파벳이면 소문자로 바꾼다.

 

* 주의해야 할 예제 : 공백이 두번 이상 나오는 경우를 고려해야 한다.

Java Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package programmers;
 
class Solution {
    public String solution(String s) {
        StringBuilder sb = new StringBuilder();
        boolean first = true;
        for (int i =0; i<s.length() ; i++) {
            char c = s.charAt(i);
            if(first) {
                if(isAlpha(c)) {
                    sb.append(Character.toUpperCase(c));
                    first=false;
                }else if(c==' ') {
                    sb.append(c);
                }
                else {
                    sb.append(c);
                    first=false;
                }
            }else {
                if(isAlpha(c)) {
                    sb.append(Character.toLowerCase(c));
                }else if(c == ' ') {
                    sb.append(c);
                    first=true;
                }else {
                    sb.append(c);
                }
            }
        }
        
        return sb.toString();
    }
    public boolean isAlpha(char c) {
        if((c>='a' && c<='z'|| (c>='A' && c<='Z')) {
            return true;
        }else {
            return false;
        }
    }
}
cs

Line 6 : first 변수는 해당 문자가 공백 이후 첫번째 문자인지를 알려주는 변수이다.

Line 13 : 연속으로 빈칸이 나오는 경우에 first 변수에 대해서 주의해야 한다.

Line 34 : isAlpha 메소드는 해당 문자가 알파벳인지 확인하는 메소드이다.

문제 링크

 

프로그래머스

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

programmers.co.kr

 

반응형

+ Recent posts