https://school.programmers.co.kr/learn/courses/30/lessons/120888
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
■ 문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
■ 제한사항
- 1 ≤ my_string ≤ 110
- my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
- 대문자와 소문자를 구분합니다.
- 공백(" ")도 하나의 문자로 구분합니다.
- 중복된 문자 중 가장 앞에 있는 문자를 남깁니다.
■ 입출력 예
my_string | result |
"people" | "peol" |
"We are the world" | "We arthwold" |
■ 나의 코드
class Solution {
public String solution(String my_string) {
String answer = "";
for(int i=0; i<my_string.length(); i++) { // my_string의 길이만큼 반복
if(i == my_string.indexOf(my_string.charAt(i))) // i와 my_string의 인덱스가 같다면
answer += my_string.charAt(i); // answer에 추가하고, 다르면 answer에 추가 X
}
return answer;
}
}
■ 기타
indexOf : 특정 문자/문자열의 위치를 찾아줌. 앞에서부터 발견되는 인덱스를 반환해주며, 인덱스를 찾지 못했을 땐 -1을 반환한다.
charAt : String 타입으로 저장된 문자열 중 한 글자만 선택해 char 타입으로 변환해줌.