본문 바로가기
  • Let's study
PS/Programmers

[프로그래머스 Lv.0] 중복된 문자 제거(Java)

by 코딩고수이고파 2026. 7. 19.

문제

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

풀이

문자열을 처음부터 끝까지 순회하면서 현재 문자가 처음 등장한 위치인지 확인한 뒤, 처음 등장한 문자만 결과 문자열에 추가했다.

먼저 charAt()을 사용해 현재 문자를 가져온다.

char c = my_string.charAt(i);

그다음 indexOf()를 이용해 해당 문자가 문자열에서 처음 등장하는 위치를 찾는다.

if (my_string.indexOf(c) == i)
    answer += c;

indexOf(c)는 문자 c가 처음 나타나는 인덱스를 반환한다.

따라서 현재 인덱스 iindexOf(c)의 결과가 같다면 처음 등장한 문자이므로 결과 문자열에 추가한다.

사용한 메서드

  • charAt(index) : 문자열에서 해당 위치의 문자를 가져온다.
  • indexOf(char) : 해당 문자가 처음 등장하는 인덱스를 반환한다.

코드

class Solution {
    public String solution(String my_string) {
        String answer = "";
        
        for(int i=0;i<my_string.length();i++){
            char c = my_string.charAt(i);
            if(my_string.indexOf(c)==i)
                answer+=c;
        }
        
        return answer;
    }
}

댓글