알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄
https://school.programmers.co.kr/learn/courses/30/lessons/12951#qna
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Think🤔
class Solution {
public String solution(String s) {
s = s.toLowerCase();
String[] splitS = s.split(" ");
String answer = "";
for(String str : splitS){
answer += str.replace(str.charAt(0), str.toUpperCase().charAt(0));
answer += " ";
}
return answer.trim();
}
}
시간 느림 , 굳이 짜르고 붙여야 됨 , 안되는 경우도 있음..
class Solution {
public String solution(String s) {
s = s.toLowerCase();
String answer = "";
answer += String.valueOf(s.charAt(0)).toUpperCase();
for(int i=1; i<s.length(); i++) {
if(s.charAt(i) == ' ' && i < s.length()) {
answer += " " + String.valueOf(s.charAt(i+1)).toUpperCase();
i++;
}else {
answer += s.charAt(i);
}
}
return answer;
}
}
런타임 에러 및 실패
공백이 여러개인 경우 공백을 split로 짤라서 지워버렸기 때문에 이부분을 넣어줘야 함.
class Solution {
public String solution(String s) {
s = s.toLowerCase().trim(); // 처음에 공백 제거
String answer = String.valueOf(s.charAt(0)).toUpperCase();
for(int i=1; i<s.length(); i++) {
if(s.charAt(i) == ' ' && s.charAt(i+1) == ' ') {
answer += " ";
}else if(s.charAt(i-1) == ' ' && s.charAt(i) != ' '){
answer += String.valueOf(s.charAt(i)).toUpperCase();
}else {
answer += s.charAt(i);
}
}
return answer;
}
}
테스트 케이스 한개 실패, 살짝 어거지 느낌의 코딩 연속 공백을 방지 하긴 했는데 뭐에서 걸리지는 모르겠음.
Solution✍
class Solution {
public String solution(String s) {
s = s.toLowerCase(); // 처음에 공백 제거
String answer = String.valueOf(s.charAt(0)).toUpperCase();
for(int i=1; i<s.length(); i++) {
if(s.charAt(i-1) == ' ' && s.charAt(i) != ' '){
answer += String.valueOf(s.charAt(i)).toUpperCase();
}else {
answer += s.charAt(i);
}
}
return answer;
}
}
맨 처음에 trim()으로 짤라서 마지막에 공백이 두개 들어가는 경우를 계산하지 못헀음 ..
Review🤩
엄청 쉬울 것 같애서 얕봤다가 오래 걸림 ㅜ
'Algorithm' 카테고리의 다른 글
[프로그래머스] 이진 변환 반복하기 (0) | 2022.11.23 |
---|---|
[프로그래머스] 올바른 괄호 (0) | 2022.11.02 |
[프로그래머스] 최댓값과 최솟값 (0) | 2022.10.17 |
[프로그래머스] 코딩테스트 연습2022 KAKAO BLIND RECRUITMENT신고 결과 받기 (0) | 2022.10.17 |
[프로그래머스] 2022 KAKAO TECH INTERNSHIP성격 유형 검사하기 (0) | 2022.09.28 |