CodingTest

프로그래머스 - 대문자와 소문자 (JAVA)

쩡선영 2023. 4. 10. 23:32

프로그래머스 0단계 대문자와 소문자 문제입니다

https://school.programmers.co.kr/learn/courses/30/lessons/120893

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


❓문제 설명

문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return 하도록 solution 함수를 완성해주세요.

 


⚠️제안사항 및 입출력 예

  • 1 <= my_strnig의 길이 <= 1,000
  • my_string은 영어 대문자와 소문자로만 구성되어 있습니다
my_string result
"cccCCC" "CCCccc"
"abCdEfghIJ" "ABcDeFGHij"

 


✏️내가 직접 짠 코드

class Solution {
    public String solution(String my_string) {
        String answer = "";
        for(int i=0; i<my_string.length(); i++) {
			if(my_string.charAt(i)<=90) 
				answer+= my_string.substring(i,i+1).toLowerCase();
			else 
				answer+= my_string.substring(i,i+1).toUpperCase();
		}
        return answer;
    }
}

 


🗣️코드 설명

  • 0부터 my_string까지 반복문을 돌립니다
  • 만약 index i 값이 90보다 작다면 (소문자 z의 아스키코드값이 90) substring메소드를 사용하여 문자열을 자른 다음, toLowerCase함수를 사용하여 소문자로 바꿔줬습니다.
  • 아니라면 index i 값이 대문자라는 뜻이기 때문에 substring 메소드를 사용하여 문자열을 자른 다음, toUpperCase함수를 사용하여 대문자로 바꿔줬습니다.

⭐정리해야 될 개념

1. substring()

문자열을 잘라주는 함수로 인자값이 하나가 들어갈 수도 있고 두개가 들어갈 수도 있다.

하나가 들어간다면 문자열 시작 인덱스부터 끝까지 문자열을 잘라서 리턴합니다.

두개가 들어간다면 첫번째 인자값의 인덱스부터 두번째 인자값의 인덱스까지 문자열을 잘라서 리턴합니다.

String str="abcdefgh";
System.out.println(str.substring(3)); // "defgh"
System.out.println(str.substring(2,6)); //"cdefg"

 

2. toLowerCase() / toUpperCase()

toLowerCase는 해당 문자열을 소문자로,

toUpperCase는 해당 문자열을 대문자로 바꿔주는 함수이다.