[Programmers] #181875 - 배열에서 문자열 대소문자 변환하기 [Java][C++][Python]
[Programmers] #181875 - 배열에서 문자열 대소문자 변환하기 [Java][C++][Python]
1. 아이디어
문자열 배열 strArr의 문자열 원소들에 대해 홀수번째 인덱스의 문자열은 전부 대문자로, 짝수번째 인덱스의 문자열은 전부 소문자로 바꾸는 문제로 strArr를 순회하며 인덱스에 따라 분기 처리해서 변환만 하면 된다.
2. 복잡도
| 접근 | 시간 | 공간 |
|---|---|---|
| 풀이 | $O(N)$ | $O(N)$ |
($N$ = strArr의 길이. C++는 각 문자열을 제자리 수정해 반환하므로 공간 $O(1)$)
3. 코드
풀이 [Java][C++][Python]
1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public String[] solution(String[] strArr) {
for (int i = 0; i < strArr.length; i++) {
if (i % 2 != 0) {
strArr[i] = strArr[i].toUpperCase();
} else {
strArr[i] = strArr[i].toLowerCase();
}
}
return strArr;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <bits/stdc++.h>
using namespace std;
vector<string> solution(vector<string> strArr) {
for (int i = 0; i < strArr.size(); i++) {
if (i % 2) {
for (char& c : strArr[i]) c = toupper(c);
} else {
for (char& c : strArr[i]) c = tolower(c);
}
}
return strArr;
}
1
2
def solution(strArr):
return [s.upper() if i % 2 else s.lower() for i, s in enumerate(strArr)]
This post is licensed under CC BY 4.0 by the author.