Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Java
- 개발자
- 생활코딩 데이터베이스
- LeNet
- 생활코딩
- 데이터베이서
- flatten
- MySQL
- 이것이 자바다
- 파이썬
- Database
- CNN
- 카카오클라우드스쿨2기
- 생활코딩 머신러닝야학
- reshape
- 딥러닝
- tensorflow
- JavaScript
- 연산자
- pandas
- 야학
- Python
- 머신러닝야학
- 데이터베이스
- 머신러닝(딥러닝)
- 데이터베이스 개론
- 머신러닝
- 판다스
Archives
- Today
- Total
IT's 우
[java] 프로그래머스 - JadenCase 문자열 만들기 본문
728x90
📖 풀이한 문제
💡 문제에서 사용된 알고리즘
- String
📜 코드 설명
- s의 길이만큼 반복문으로 s안에 현재 인덱스부터 공백이 있는지의 여부에 따라 변환한다.
- 반복문에서 i번째가 공백이라면 answer에 공백을 더해주고 반복문을 continue 한다.
- 반복문에서 s에서 i번째 이후에 공백이 없더라면 현재 변환할 문자 (w)에 s에서 i부터 끝까지를 넣어준다. i를 len을 가리키게 하여 반복문을 다음에 종료할 수 있도록 한다.
- 반복문에서 s에서 i번째 이후 공백이 있더라면 w에 s부터 공백 인덱스 전까지의 문자를 넣어준다. i를 idx -1로 바꾸어서 다음 i를 공백으로 가도록 한다.
- w는 맨 앞 글자가 소문자라면 대문자로 바꿔주고 아니라면 그대로 둔다. 앞 글자 뒤에는 소문자로 바꿔서 w를 변환하여 준다.
- answer에 변환한 w를 붙여준다.
📜 코드
class Solution {
public String solution(String s) {
String answer = "";
int len = s.length();
// 반복문을 통해 공백을 찾아주며 단어를 조건에 맞게 변환한다.
for (int i = 0; i < len; i++) {
// 현재 인덱스에 해당하는 문자
char c = s.charAt(i);
// 공백 전까지의 문자열
String w = "";
// s에서 i인덱스부터의 공백에 해당하는 인덱스
int idx = s.indexOf(" ", i);
// i와 idx가 같다면 현재가 공백이므로 answer에 공백 추가
if (i == idx) {
answer += " ";
continue;
}
// 현재 공백이 없더라면 w에 s의 인덱스 i부터 끝까지의 문자열을 넣어준다. i는 끝으로 두어서 반복문 끝나게
else if (idx == -1) {
w = s.substring(i);
i = len;
}
// 공백이 있더라면 w에 s의 i부터 idx 전까지의 문자열을 넣어주고 i를 공백 전까지 이동한다.
else {
w = s.substring(i, idx);
i = idx - 1;
}
// 맨 앞 문자가 소문자라면 맨 앞 문자를 대문자로 바꿔주고 뒤에 문자들은 소문자로 바꿔준다.
if (c >= 'a' && c <= 'z') {
w = String.valueOf(c).toUpperCase() + w.substring(1).toLowerCase();
}
// 소문자가 아니라면 맨 앞 문자는 그대로 두고 뒤에 오는 문자들은 소문자로 바꿔준다.
else {
w = String.valueOf(c) + w.substring(1).toLowerCase();
}
// 변형한 문자열을 답에 붙여준다.
answer += w;
}
return answer;
}
}
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[java] 프로그래머스 - n진수 게임 (0) | 2023.08.23 |
---|---|
[java] 프로그래머스 - 압축 (0) | 2023.08.18 |
[java] 프로그래머스 - n^2 배열 자르기 (0) | 2023.08.16 |
[java] 프로그래머스 - k진수에서 소수 개수 구하기 (2) | 2023.08.09 |
[java] 프로그래머스 - 숫자의 표현 (0) | 2023.08.08 |