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
- AWS
- 부트캠프
- 스파르타내일배움캠프TIL
- java
- Spring
- 99일지
- 자바
- 중심사회
- 내일배움캠프
- 스파르타코딩클럽
- 개발자블로그
- Flutter
- wil
- 항해
- 소프트웨어
- 코딩테스트
- 99클럽
- 스파르타내일배움캠프
- 국비
- 컴퓨터구조론 5판
- 백준
- til
- 개인공부
- MySQL
- Python
- 개발자스터디
- 프로그래머스
- 운영체제
- 컴퓨터개론
- 스파르타내일배움캠프WIL
Archives
- Today
- Total
컴공생의 발자취
프로그래머스(JadenCase 문자열 만들기) 본문
728x90
반응형
💡 오늘의 학습 키워드
- 프로그래머스
* JadenCase 문자열 만들기 : 미들러 문제(Level 2)
오늘의 회고
문제1 : [JadenCase 문자열 만들기]
- 어떤 문제가 있었고, 나는 어떤 시도를 했는지
문자열을 입력받아 단어의 첫 글자는 대문자 나머지는 소문자로 만드는 문제였다.
공백은 한 번에 여러 번 입력가능하고, 숫자는 변환하지 않아야 한다.
오늘은 미들러 문제치고는 너무 쉬웠다. 전에 비슷한 문제를 풀이해봐서 그런가..?
일단 문자열의 첫 글자가 소문자일 경우 대문자로 변경해주고 아닐 경우는 그대로 넣어준다.
그리고 문자열의 두 번째 글자부터 문자열의 끝까지 반복문을 돌면서 아래와 같은 조건대로 변경해서 넣어준다.
- 해당 인덱스 앞이 공백일 경우 + 소문자일 경우는 대문자로 변경
- 해당 인덱스 앞이 공백이 아닐 경우 + 대문자일 경우는 소문자로 변경
- 나머지는 그대로
그러면 문제 해결!
아.. 그런데 첫 번째 시도에서는 'a' > str > 'z' 이런식?으로 해서
b부터 y까지만 소문자로 인식해서 첫 제출에 실수가 있었다. 물론 대문자도 비슷하게 실수했다....
- 어떻게 해결했는지
class Solution {
public String solution(String s) {
int len = s.length();
StringBuilder sb = new StringBuilder();
if(s.charAt(0) >= 'a' && s.charAt(0) <= 'z')
sb.append((char)(s.charAt(0) - 'a' + 'A'));
else
sb.append(s.charAt(0));
for (int i = 1; i<len; i++) {
if (s.charAt(i-1) == ' ' && s.charAt(i) >= 'a' && s.charAt(i) <= 'z')
sb.append((char)(s.charAt(i) - 'a' + 'A')); // 단어의 첫 영어글자 대문자로..
else if (s.charAt(i-1) != ' ' && s.charAt(i) >= 'A' && s.charAt(i) <= 'Z')
sb.append((char)(s.charAt(i) - 'A' + 'a')); // 단어의 뒷 영어글자 소문자로..
else
sb.append(s.charAt(i)); // 나머지는 그대로..
}
String answer = sb.toString();
return answer;
}
}
- 무엇을 새롭게 알았는지
오늘은 문제가 생각보다 쉬웠다. 코드를 다 타이핑해서 걸린 시간만 들었기에 블로그 작성이 더 걸리는 것 같다.
다른 사람들의 풀이를 보면서 삼항 연산자를 사용하거나 대소문자 변경 함수를 사용하시는 분이 많았다.
다음 번에는 삼항 연산자를 사용하거나 대소문자 변경 함수에 대해 정리 좀 해볼까 한다.
내일 학습할 것은 무엇인지 (최대 3개)
- 정보처리기사 실기
- 자바 형변환 정리
- 클럽99 코딩테스트(미들러)
728x90
반응형
'💡 코테' 카테고리의 다른 글
시간 초과 및 프로그래머스(연속된 부분 수열의 합) (1) | 2024.04.16 |
---|---|
프로그래머스(개인정보 수집 유효기간) (0) | 2024.04.15 |
깊이 우선 탐색(DFS: Depth-First Search) 및 프로그래머스(모음사전) (0) | 2024.04.13 |
프로그래머스(2016년) (0) | 2024.04.12 |
프로그래머스(가운데 글자 가져오기 및 콜라 문제) (0) | 2024.04.11 |