Post

[Programmers] #120893 - 대문자와 소문자 [Java][C++][Python]

문자열의 대문자는 소문자로, 소문자는 대문자로 바꾸는 문제.

[Programmers] #120893 - 대문자와 소문자 [Java][C++][Python]

문제 링크


1. 아이디어

문자열의 각 문자를 순회하며 소문자면 대문자로, 대문자면 소문자로 바꿔 이어붙인다.


2. 복잡도

접근시간공간
풀이$O(N)$$O(N)$

($N$ = my_string의 길이)


3. 코드

풀이 [Java][C++][Python]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
    public String solution(String my_string) {
        StringBuilder sb = new StringBuilder();
        for (char c : my_string.toCharArray()) {
            if (Character.isLowerCase(c)) {
                sb.append(Character.toUpperCase(c));
            } else {
                sb.append(Character.toLowerCase(c));
            }
        }

        return sb.toString();
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <bits/stdc++.h>
using namespace std;

string solution(string my_string) {
    string s;
    for (char c : my_string) {
        if (islower(c)) {
            s += toupper(c);
        } else {
            s += tolower(c);
        }
    }

    return s;
}
1
2
def solution(my_string):
    return my_string.swapcase()

swapcase는 문자열의 대문자는 소문자로, 소문자는 대문자로 뒤집은 새 문자열을 돌려준다.


This post is licensed under CC BY 4.0 by the author.