Data Structures & Algorithms

[Algorithms] 스택,큐,해쉬,힙-아나그램(해쉬)

숄구-ml 2022. 5. 18. 21:05

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import sys
 
# sys.stdin = open("input", "rt")
str1=input()
dict1=dict()
str2=input()
 
for ch in str1:
    dict1[ch] = dict1.get(ch, 0+ 1
 
for ch in str2:
    dict1[ch] = dict1.get(ch, 0- 1
 
for val in dict1.values():
    if val>0:
        print("NO")
        break
else:
    print("YES")
 
cs

 

 

  • 2. 리스트 해쉬를 이용한 방법 (C 처럼 아스키 코드를 이용해 푸는 방법)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import sys
 
# sys.stdin = open("input", "rt")
str1=input()
str2=input()
 
arr1=[0]*52 # 알파벳은 대문자+소문자 = 52개
arr2=[0]*52
 
for a in str1:
    if a.isupper():
        arr1[ord(a)-65]+=1
    else:
        arr1[ord(a)-71]+=1
for a in str2:
    if a.isupper():
        arr2[ord(a)-65]+=1
    else:
        arr2[ord(a)-71]+=1
for i in range(52):
    if arr1[i]!=arr2[i]:
        print("NO")
        break
else:
    print("YES")
 
cs
728x90