코드 그라데이션
[Lv.0] 특정 문자 제거하기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/120826
문제 설명
문자열 my_string 과 문자 letter 이 매개변수로 주어집니다.
my_string에서 letter 를 제거한 문자열을 리턴하도록 함수를 완성해주세요.
제한사항
입출력 예
입출력 예 설명
아이디어
- letter은 임의의 값. 어떤 게 주어질 지는 모르지만 문자 하나라는 건 정해짐.
- 원하는 문자열을 새로 만든다.
- 새로운 문자열은 주어진 문자열에서 특정 문자열만 없게 만들면 된다는 것.
- 새로운 문자열을 만들 때 가장 쉬운 방법은 가져와서 확인하며 비교하고, 조건을 충족하면 빼고(넣고)...
- 추가하지 않으면 뺀 것과 동일한 효과를 나타낸다.
- 빈 문자열에 요소를 하나씩 더해가는 느낌으로 새로운 문자열을 디자인 해 간다고 생각하자.
- letter.charAt(0) => 레터는 언제나 한 글자라고 주어졌으니까.
- if문인데 아무것도 안해야 한다는 소리는, 일단 if문을 비워두고 else를 써도 되고, 또는 if에서 같지 않은 걸 검사한다.
- 여기서는 my_string의 i 번째와 letter의 0번째를 비교하면 된다.
- String에서 첫번째 문자열을 찾는 방법은 .charAt(0)
작성한 코드 1
class Solution {
public String solution(String my_string, String letter) {
String answer = "";
for(int i=0; i<my_string.length(); i++) {
if(my_string.charAt(i) != letter.charAt(0)) {
answer += my_string.charAt(i);
}
}
return answer;
}
}
작성한 코드 2
class Solution {
public String solution(String my_string, String letter) {
return my_string.replace(letter,"");
}
}
.replace(letter,"") 는 어떤 문자열의 내용을 ~~로 변경한다는 뜻
즉, 여기는 my_string에 등장한 letter라는 문자열을 ""(빈 문자열)로 바꾼다는 뜻.
728x90
'Java > 알고리즘' 카테고리의 다른 글
[Lv.0] (2문제) 소문자로 바꾸기, 대문자로 바꾸기 (0) | 2023.05.25 |
---|---|
[Lv.0] 삼각형의 완성 조건 (0) | 2023.05.18 |
[Lv.0] 두 수의 나눗셈 (0) | 2023.05.10 |
[Lv.0] (2문제) 배열 뒤집기, 배열 원소의 길이 (0) | 2023.05.10 |
[Lv.0] 배열 자르기 (0) | 2023.05.10 |
Comments