문제 설명
영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 <= my_string의 길이 <= 1,000
입출력 예
my_string | alp | result |
"programmers" | "p" | "Programmers" |
"lowercase" | "x" | "lowercase" |
class Solution {
public String solution(String my_string, String alp) {
String answer = my_string.replace(alp, String.valueOf((char)(alp.charAt(0) - 32)));
return answer;
}
}
replace 메소드를 이용하여 alp에 해당하는 문자열을 모두 대문자로 변경합니다. replace의 현재 문자를 넣는 인자에 alp를 넣습니다. 변경하고 싶은 문자에는 alp를 대문자로 변경한 인자를 넣습니다. 이는 아스키 코드를 이용하여 소문자를 대문자로 변경하는 것입니다. 아스키 코드를 이용하기 위해서 charAt(0)에서 32(아스키 코드에서의 대소문자 간격)만큼을 뺍니다. 숫자 상태를 문자(char)형으로 형변환 하여 문자로 나타날 수 있도록 합니다. 이를 다시 valueOf 메소드를 이용하여 String으로 형변환 합니다. String으로 변환하는 이유는 replace가 문자열 형태의 인자를 받기 때문입니다.
앞선 과정을 모두 거치면 alp에 해당하는 모든 문자를 대문자로 바꾼 문자열을 반환합니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기(Java) (0) | 2023.05.19 |
---|---|
[프로그래머스 코딩테스트] 부분 문자열 이어 붙여 문자열 만들기(Java) (0) | 2023.05.18 |
[프로그래머스 코딩테스트] 접미사 배열(Java) (0) | 2023.05.18 |
[프로그래머스 코딩테스트] 접미사인지 확인하기(Java) (0) | 2023.05.17 |
[프로그래머스 코딩테스트] 접두사인지 확인하기(Java) (0) | 2023.05.17 |