• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

HashMap으로 풀어봤는데 괜찮을까요

22.08.13 23:32 작성 조회수 244

2

강의를 보기 전에 먼저 HashMap으로 풀어봤는데 괜찮은 코드라고 봐도 될까요...?

 

import java.util.HashMap;
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        String in = kb.next();
        System.out.println(solution(in));
    }

    public static String solution(String in) {
        String answer = "";
        char[] chrArr = in.toCharArray();
        HashMap<Character, Integer> map = new HashMap<>();

        for(int i=0; i<in.length(); i++) {
            if (!map.containsKey(chrArr[i])) {
                answer += chrArr[i];
            }
            map.put(chrArr[i], 1);
        }

        return answer;
    }
}

답변 2

·

답변을 작성해보세요.

1

mintzberg님의 프로필

mintzberg

2024.03.25

저는 set으로 해봤는데 map으로 하는 방법도 있었네요

import java.util.HashSet;
import java.util.Scanner;

public class Main {
    public String solutions(String str) {
        StringBuilder answer = new StringBuilder();
        char[] x = str.toCharArray();
        HashSet<Character> unique = new HashSet<>();
        for (char c : x) {
            if (unique.add(c)) {
                answer.append(c);
            }
        }
        return answer.toString();
    }

    public static void main(String[] args) {
        Main t = new Main();
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        System.out.println(t.solutions(str));
    }
}

 

1

안녕하세요^^

네. 상관없습니다. 잘 하신 코드입니다.