inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 중복된 문자 제거

    silver's avatar
    silver
    Jan 08, 2025
    [알고리즘문제풀기] 중복된 문자 제거
    Contents
    문제내가 작성한 정답다른 사람들의 정답

    문제

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

    내가 작성한 정답

    class Solution { public String solution(String my_string) { String answer = ""; for(char a : my_string.toCharArray()){ if(answer.indexOf(String.valueOf(a))== -1){ answer += a; } } return answer; } }
    💡
    indexOf 특정 문자 또는 문자열이 주어진 문자열에서 처음으로 나타나는 위치(인덱스)를 반환
    인덱스: 찾은 문자 또는 문자열의 첫 번째 위치 (0부터 시작). -1: 찾는 문자나 문자열이 존재하지 않을 경우

    다른 사람들의 정답

    import java.util.*; class Solution { public String solution(String my_string) { String[] answer = my_string.split(""); // LinkedHashSet을 이용하여 중복을 제거하고 순서도 유지했다. // Arrays.asList : 배열을 List로 변환 Set<String> set = new LinkedHashSet<String>(Arrays.asList(answer)); return String.join("", set); } }
    💡
    String.join(구분자, 합칠 요소들이 있는 Iterable(ArrayList, HashSet, LinkedList…))
    : 문자열을 하나의 문자열로 합친다.
    import java.util.stream.Collectors; class Solution { public String solution(String my_string) { return my_string.chars() //IntStream .mapToObj(Character::toString) //Stream<String> .distinct() // 중복제거 + 각 문자가 처음 등장하는 순서대로 유지 .collect(Collectors.joining()); // 문자열로 결합 } }
    Share article

    silver

    RSS·Powered by Inblog