[개발] - Java/알고리즘
[Lv.0] A 강조하기
완벽한 장면
2023. 6. 14. 23:51
https://school.programmers.co.kr/learn/courses/30/lessons/181874
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
9점 받은 문제!!!
문제 설명
문자열 myString이 주어집니다. myString에서 알파벳 "a" 가 등장하면 전부 "A" 로 변환하고,
"A" 가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return하는 solution 함수를 완성하세요.
제한 사항
입출력 예
입출력 예 설명
아이디어
- 반복문은 가장 위에 돌아야 할 것이고
- 조건 분기를 a인 경우 대문자화 / A가 아닌 경우 전부 소문자화 / 둘 다 해당 안 하는 경우 새 문자열에 그대로 더하기
- charAt() -> String -> toUpperCase()
answer에 합치기 전에 toUpperCase()를 먼저. - 위에서 합치기 전에 먼저 해야한다는 말이 무슨 뜻이냐면, answer을 그대로 toUpperCase()를 해버리면, answer문자열의 문자가 전체 다 대문자화 되어버림.
- 우리가 원하는 건 해당 글자(a)만 대문자화. 그래서 먼저 해주는 게 적절하다.
- 또는 해당 글자만 추출해서 대문자화.
검색을 해도 되는 상황이면 문자를 대문자로 바꾸는 방법을 찾아서 풀면 되고
검색을 못한다면 charAt() -> String -> toUpperCase() 방식을 적용.
나의 코드
class Solution {
public String solution(String myString) {
String answer = "";
for(int i=0; i<myString.length(); i++) {
if(myString.charAt(i) == 'a'){
answer += (myString.charAt(i) + "").toUpperCase();
// answer.toUpperCase()
// // answer += myString.charAt(i);
}
else if(myString.charAt(i) != 'A'){
answer += (myString.charAt(i) + "").toLowerCase();
}
else {
answer += myString.charAt(i);
}
}
return answer;
}
}
728x90
반응형