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

    [JAVA 문제 풀이] 50. 한 번만 등장한 문자

    프로그래머스(120896)
    Stupefyee's avatar
    Stupefyee
    Dec 26, 2024
    [JAVA 문제 풀이] 50. 한 번만 등장한 문자
    Contents
    내가 작성한 코드다른 사람의 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/120896?language=java
    notion image

    내가 작성한 코드

    💡
    import java.util.*; class Solution { public String solution(String s) { StringBuilder answer = new StringBuilder(); String[] str = s.split(""); // String 배열화 Arrays.sort(str); // 정렬 for (String string : str) { int count = 0; // 등장한 횟수 for (String value : str) { if (string.equals(value)) { count++; } } // 1번만 등장하면 값 더하기 if (count == 1) { answer.append(string); } } return answer.toString(); } }

    다른 사람의 코드

    💡
    import java.util.*; class Solution { // 주어진 문자열 s에서 중복되지 않는 문자를 알파벳 순서대로 반환하는 함수 public String solution(String s) { // 문자열을 문자 배열로 변환 char[] chars = s.toCharArray(); // 각 문자에 대한 등장 횟수를 저장할 Map Map<Character, Integer> charMap = new HashMap<>(); // 문자열에서 각 문자의 등장 횟수를 세는 루프 for (char c : chars) { // 문자가 등장할 때마다 등장 횟수를 1 증가시킨다. charMap.put(c, charMap.getOrDefault(c, 0) + 1); } // 중복되지 않는 문자를 저장할 StringBuilder StringBuilder sb = new StringBuilder(); // charMap의 각 문자에 대해 등장 횟수가 1인 문자만 StringBuilder에 추가 for (char c : charMap.keySet()) { // 등장 횟수가 1인 문자는 중복되지 않으므로 sb에 추가 if (charMap.get(c) == 1) { sb.append(c); } } // 중복되지 않는 문자를 알파벳 순서대로 정렬하기 위해 StringBuilder에서 문자열을 추출 char[] charArr = sb.toString().toCharArray(); // 알파벳 순으로 정렬 Arrays.sort(charArr); // 정렬된 문자 배열을 다시 문자열로 변환하여 반환 return new String(charArr); } }
    Share article
    Contents
    내가 작성한 코드다른 사람의 코드

    stupefyee

    RSS·Powered by Inblog