• toc {:toc}

๋ฌธ์ œ

๋‘ ์˜์–ด ๋‹จ์–ด๊ฐ€ ์ฒ ์ž์˜ ์ˆœ์„œ๋ฅผ ๋’ค๋ฐ”๊พธ์–ด ๊ฐ™์•„์งˆ ์ˆ˜ ์žˆ์„ ๋•Œ, ๊ทธ๋Ÿฌํ•œ ๋‘ ๋‹จ์–ด๋ฅผ ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด occurs ๋ผ๋Š” ์˜์–ด ๋‹จ์–ด์™€ succor ๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋Š”๋ฐ, occurs์˜ ๊ฐ ๋ฌธ์ž๋“ค์˜ ์ˆœ์„œ๋ฅผ ์ž˜ ๋ฐ”๊พธ๋ฉด succor์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ•œ ํŽธ, dared์™€ bread๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ์ง€ ์•Š๋‹ค. ํ•˜์ง€๋งŒ dared์—์„œ ๋งจ ์•ž์˜ d๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , bread์—์„œ ์ œ์ผ ์•ž์˜ b๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด, ared์™€ read๋ผ๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋Š” ๋‹จ์–ด๊ฐ€ ๋‚จ๊ฒŒ ๋œ๋‹ค.

๋‘ ๊ฐœ์˜ ์˜์–ด ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‘ ๋‹จ์–ด๊ฐ€ ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋„๋ก ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋Š” ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฌธ์ž ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•  ๋•Œ์—๋Š” ์•„๋ฌด ์œ„์น˜์— ์žˆ๋Š” ๋ฌธ์ž๋“ ์ง€ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„๊ณผ ๋‘˜์งธ ์ค„์— ์˜์–ด ๋‹จ์–ด๊ฐ€ ์†Œ๋ฌธ์ž๋กœ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๊ธธ์ด๋Š” 1,000์ž๋ฅผ ๋„˜์ง€ ์•Š์œผ๋ฉฐ, ์ ์–ด๋„ ํ•œ ๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ถœ์ฒ˜:https://www.acmicpc.net/problem/1919

ํ’€์ด

๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ ๋ฐฐ์—ด์— ์˜ฎ๊ธฐ๊ณ  ์„œ๋กœ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋งŽ์€ ๊ฒƒ๋“ค์€ ์ œ๊ฑฐํ•œ๋‹ค.

(์ถ”๊ฐ€๊ฐ€ ์•ˆ๋˜๊ณ  ์ œ๊ฑฐ๋งŒ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ)

// ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„ ๋งŒ๋“ค๊ธฐ
// ์• ๋„ˆ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
#include <bits/stdc++.h>
 
using namespace std;
 
int first[30];
int second[30];
 
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
 
    string a, b;
    int cnt = 0;
    cin >> a >> b;
    for(auto elem : a){
        first[(int)elem-97]++;
    }
    for(auto elem : b){
        second[(int)elem-97]++;
    }
 
    for(int i = 0; i<30; i++){
        if(first[i]!=0 || second[i]!=0){
            if(first[i]>second[i]){
                cnt += first[i] - second[i];
            }
            else if(first[i]<second[i]){
                cnt += second[i] - first[i];
            }
        }
    }
 
    cout << cnt << endl;
    return 0;
}

์ •๋‹ต ํ’€์ด (ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๋‹ค)

  1. ๋ฐฐ์—ด์„ ํ•˜๋‚˜๋กœ ํ•ฉ์นจ.
  2. abs ํ•จ์ˆ˜๋กœ ๋ถˆํ•„์š”ํ•œ if๋ฌธ์„ ์ค„์ž„. ์ ˆ๋Œ€๊ฐ’ ์•Œ์•„๋‘๊ธฐ.
// Authored by : twinkite
// Co-authored by : BaaaaaaaaaaarkingDog
// http://boj.kr/ae5d8d2f69f04530b4df0c591e9b07d5
#include <bits/stdc++.h>
using namespace std;
 
int arr[2][26], res;
string s1, s2;
 
int main(void){
  ios::sync_with_stdio(0);
  cin.tie(0);
 
  cin>>s1>>s2;
  for(char c : s1)
    arr[0][c-'a']++;
  
  for(char c : s2)
    arr[1][c-'a']++;
  
  for(int i=0; i<26; i++)
    res += abs(arr[0][i]-arr[1][i]);
  
  cout << res;
}