RUBY

[백준] 애너그램 만들기 본문

PS/BOJ

[백준] 애너그램 만들기

RUBY_루비 2024. 2. 14. 23:00

출처:: https://www.acmicpc.net/problem/1919

분류:: 문자열 

 

1. 문제 이해 및 해결과정

- 공통 문자 이외를 지워야함

dared { 'a' : 1,            , 'd' : 2,  'e' : 1, 'r' : 1}
bread { 'a' : 1, ' b' : 1 , 'd' : 1,  'e' : 1, 'r' : 1}
=> 2 (b 와 d의 차이)

 

 

2. 풀이방법

1) python 

counter 함수 이용하기 

import sys
from collections import Counter

a = input()
b = input()

countA = Counter(a)
countB = Counter(b)

ans1 = countA - countB
ans2 = countB - countA 
ans = ans1 + ans2
ans = sum(ans.values())

print(ans)

 

2) 아스키코드 활용, ord() 활용

alpha = [ 0 for i in range(26)]
a = input()
b = input()

for i in a:
    alpha[ord(i)-ord('a')] += 1
for i in b:
    alpha[ord(i)-ord('a')] -= 1

print(sum(map(abs,alpha)))

 

 

3. 오답원인

 

4. 알게된 점

 

'PS > BOJ' 카테고리의 다른 글

[백준]두 수의 합  (0) 2024.02.17
[백준]문서 검색  (0) 2024.02.14
[백준] 단어 공부  (0) 2024.02.14
[백준] 대소문자 바꾸기  (0) 2024.02.13
[백준] 경쟁적 전염  (0) 2020.10.14
Comments