Data Structures & Algorithms
[Algorithms] 스택,큐,해쉬,힙-아나그램(해쉬)
숄구-ml
2022. 5. 18. 21:05
- 1. 딕셔너리를 이용하는 방법
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