코드 그라데이션

[Lv.0] A 강조하기 본문

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
Comments