백준 문자열 알고리즘 : 6996 애너그램

코린이서현이·2024년 1월 14일
0

🛎️ 6996 애너그램

정답 코드

def anagram(a_list):
    a1_list = list(str(a_list[0]))
    a2_list = list(str(a_list[1]))
    print(a2_list)

    if (len(a1_list) != len(a2_list)):
        return False

    a1_list.sort()
    a2_list.sort()

    for i in range(len(a1_list)):
        if (a1_list[i] != a2_list[i]):
            return False

    return True


x1 = int(input())
a_lsit = [""] * x1

for i in range(x1):
    a_lsit[i] = input().split(" ")


for i in a_lsit:
    if(anagram(i)):
        print(i[0]+" & "+ i[1] + " are anagrams.")
    else:
        print(i[0] + " & " + i[1] + " are NOT anagrams.")

활용 문법

문자열을 리스트로 만들기

문자열의 문자 하나하나를 리스트로 만들어준다.

  a2_list = list(str(a_list[1])) #['l', 'a', 'n', 'd', 'a', 'm']

파이썬의 정렬함수

list_2 = sorted(list_2)
list_3.sort()

추가적으로 교재에서 제공하는 애너그램 알고리즘

def is_anagram(s1, s2):
    s1 = s1.replace(' ','').lower()
    s2 = s2.replace(' ','').lower()
    if sorted(s1) == sorted(s2):
        return True
    else:
        return False
profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글