UpDown Dev Story
아나그램 (HashMap) 본문
아래 강의를 보면서 연습하고 기록하고 있습니다
문제
내 코드
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String inputText1 = sc.next();
String inputText2 = sc.next();
System.out.println(inputText1);
System.out.println(inputText2);
Map<Character, Integer> map1 = new HashMap<>();
for (char c : inputText1.toCharArray()) {
map1.put(c, map1.getOrDefault(c, 0) + 1);
}
Map<Character, Integer> map2 = new HashMap<>();
for (char c : inputText2.toCharArray()) {
map2.put(c, map2.getOrDefault(c, 0) + 1);
}
String returnValue = "YES";
for (Character character : map1.keySet()) {
if(!map1.get(character).equals(map2.get(character))){
returnValue = "NO";
}
}
System.out.println(returnValue);
}
}
강사님 코드
import java.util.*;
class Main {
public String solution(String s1, String s2){
String answer="YES";
HashMap<Character, Integer> map=new HashMap<>();
for(char x : s1.toCharArray()){
map.put(x, map.getOrDefault(x, 0)+1);
}
for(char x : s2.toCharArray()){
if(!map.containsKey(x) || map.get(x)==0) return "NO";
map.put(x, map.get(x)-1);
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String a=kb.next();
String b=kb.next();
System.out.print(T.solution(a, b));
}
}
'Algorithm' 카테고리의 다른 글
공주 구하기 (Queue) (0) | 2021.07.06 |
---|---|
후위식 연산 (Stack) (0) | 2021.07.06 |
알고리즘 연습 - K번째 큰 수 ( TreeSet ) (0) | 2021.06.23 |
알고리즘 연습 - 학급회장(HashMap) (0) | 2021.06.23 |
알고리즘 연습 - 공통원소구하기( Two Pointers ) (0) | 2021.06.23 |
Comments