본문 바로가기
Algorithm

[구현/문자열] 백준 1919 애너그램 만들기 - 파이썬(Python)

by jangThang 2022. 3. 1.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    1919번: 애너그램 만들기

    두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     두 문자열이 애너그램이 되려면 몇 개의 문자를 제거해야하는지 구하는 문제입니다.

     

     

     

    3. 코드

    s1 = input()
    s2 = input()
    
    alphabet = [0]*26
    for s in s1:
        alphabet[ord(s)-97] += 1
    
    for s in s2:
        alphabet[ord(s)-97] -= 1
    
    res = 0 #제거해야할 문자
    for i in alphabet:
        res += abs(i)
    print(res)

     두 문장에 쓰인 알파벳의 개수를 계산합니다. 첫 번째 단어에 쓰인 알파벳의 개수에서 두 번째 단어에 쓰인 알파벳 개수를 뺍니다. 두 단어의 알파벳 개수의 차이만큼 문자를 제거하면 애너그램이 됩니다.

     

    star가 되고나서 Tistory

    반응형

    댓글