반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준 알고리즘] 백준 6996번 애너그램 파이썬(Python)

1) 문제번호 : 6996번

 

2) 문제 출처

https://www.acmicpc.net/problem/6996

 

6996번: 애너그램

첫째 줄에 테스트 케이스의 개수(<100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 100을 넘지 않는 단어가 공백으로 구분되어서 주어진다. 단어는 알파벳 소문자로만 이루어

www.acmicpc.net

 

2. 문제

두 단어 A와 B가 주어졌을 때, A에 속하는 알파벳의 순서를 바꾸어서 B를 만들 수 있다면, A와 B를 애너그램이라고 한다.

두 단어가 애너그램인지 아닌지 구하는 프로그램을 작성하시오.

 

3. 제약사항


4. 입력

첫째 줄에 테스트 케이스의 개수(<100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 100을 넘지 않는 단어가 공백으로 구분되어서 주어진다. 단어는 알파벳 소문자로만 이루어져 있다.

 

5. 출력

각 테스트 케이스마다 애너그램인지 아닌지를 예체 출력과 같은 형식으로 출력한다. 

 

6. 풀이

- 이 문제를 풀다가 출력에서 많이 틀렸다.

- 띄어쓰기 중요!

 

7. 소스 코드

import sys
input=sys.stdin.readline

T = int(input()) # 테스트케이스 개수

for _ in range(T) :
    A, B = map(str, input().split()) # 단어 입력

    # 리스트 변환 후 오름차순 정렬
    tmp1 = sorted(list(A))
    tmp2 = sorted(list(B))

    # 정렬한게 같으면 anagrams
    if tmp1 == tmp2 :
        print(A + " & " + B + " are anagrams.")

    # 정렬한게 다르면 NOT anagrams
    else :
        print(A + " & " + B + " are NOT anagrams.")

 


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기