728x90

https://www.acmicpc.net/problem/6996
6996번: 애너그램
첫째 줄에 테스트 케이스의 개수(<100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 100을 넘지 않는 단어가 공백으로 구분되어서 주어진다. 단어는 알파벳 소문자로만 이루어
www.acmicpc.net
문제
두 단어 A와 B가 주어졌을 때, A에 속하는 알파벳의 순서를 바꾸어서 B를 만들 수 있다면, A와 B를 애너그램이라고 한다.
두 단어가 애너그램인지 아닌지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수(<100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 100을 넘지 않는 단어가 공백으로 구분되어서 주어진다. 단어는 알파벳 소문자로만 이루어져 있다.
출력
정확한 출력 형식은 제출에서 언어를 Java로 설정하면 확인할 수 있다.
예시

코드
import sys
num = int(sys.stdin.readline())
for i in range(num):
S1, S2 = map(str, sys.stdin.readline().split())
s1 = sorted(list(S1))
s2 = sorted(list(S2))
if s1 == s2:
print("%s & %s are anagrams." % (S1, S2))
else:
print("%s & %s are NOT anagrams." % (S1, S2))
코드 해석
- 확일한 캐이스의 수를 구한다.
- for문으로 수를 반복한다.
- 두 단어를 받는다.
- 두 단으로 정렬한다.
- 정렬한 두 단어가 같아면 are anagrams를 아니다면 are NOT anagrams를 출력한다.

728x90
'코딩테스트 > Beakjoon' 카테고리의 다른 글
| 백준 8958번 : OX퀴즈[Python] (0) | 2024.01.20 |
|---|---|
| 백준 8393번 : 합 [Python] (0) | 2024.01.20 |
| 백준 5893번 : 17배 [Python] (0) | 2024.01.20 |
| 백준 5622번 : 다이얼 [Python] (0) | 2024.01.20 |
| 백준 5597번 : 과제 안 내신 분..? [Python] (0) | 2024.01.20 |