PS/BOJ

[백준 BOJ] 1919 애너그램 만들기

Jubil 2018. 11. 19. 06:46
반응형

1919_애너그램 만들기

링크

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

 

풀이


 

애너그램은 철자를 굉장히 중요하게 생각합니다. 그렇기 때문에 영단어를 철자로 나누어 기록합니다.

그 후, 소문자만 들어오기 때문에 a~z까지 서로 얼마나 차이나나 구하면 제거해야 하는 최소 개수의 문자 수가 나옵니다.

 

차이를 구하는 방법은 max에서 min을 빼면 됩니다.

 

 

코드

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

//1919_애너그램 만들기

#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

 

string str1, str2;

int arr1['z' + 1], arr2['z' + 1], ans;

 

int main() {

    cin >> str1 >> str2;

 

    for (int i = 0; i < str1.length(); ++i) arr1[str1[i]]++;

    for (int i = 0; i < str2.length(); ++i) arr2[str2[i]]++;

 

    for (int i = 'a'; i <= 'z'++i) {

        ans += max(arr1[i], arr2[i]) - min(arr1[i], arr2[i]);

    }

 

    cout << ans << endl;

 

    return 0;

}

Colored by Color Scripter

cs

 



반응형