😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[BAEKJOON C++] 3059_λ“±μž₯ν•˜μ§€ μ•ŠλŠ” 문자의 ν•© λ³Έλ¬Έ

πŸ¦₯ μ½”ν…Œ/BAEKJOON

[BAEKJOON C++] 3059_λ“±μž₯ν•˜μ§€ μ•ŠλŠ” 문자의 ν•©

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 7. 24. 23:32
728x90
λ°˜μ‘ν˜•
μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ‘œ κ΅¬μ„±λ˜μ–΄μžˆλŠ” λ¬Έμžμ—΄ Sκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ,
S에 λ“±μž₯ν•˜μ§€ μ•ŠλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬Έμžμ˜ μ•„μŠ€ν‚€ μ½”λ“œ κ°’μ˜ ν•©μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

λ¬Έμžμ—΄ Sκ°€ “ABCDEFGHIJKLMNOPQRSTUVW” μΌ λ•Œ, S에 λ“±μž₯ν•˜μ§€ μ•ŠλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬ΈμžλŠ” X, Y, Z이닀. 
X의 μ•„μŠ€ν‚€ μ½”λ“œ κ°’은 88, YλŠ” 89, ZλŠ” 90μ΄λ―€λ‘œ μ΄ μ•„μŠ€ν‚€ μ½”λ“œ κ°’μ˜ ν•©μ€ 267이닀.

μ•ŒνŒŒλ²³ λŒ€λ¬Έμžμ˜ μ•„μŠ€ν‚€ μ½”λ“œ κ°’은 λ‹€μŒκ³Ό κ°™λ‹€.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

μž…λ ₯
μž…λ ₯은 T개의 ν…ŒμŠ€νŠΈ λ°μ΄ν„°λ‘œ κ΅¬μ„±λœλ‹€. 
μž…λ ₯의 μ²« λ²ˆμ§Έ μ€„μ—λŠ” μž…λ ₯ λ°μ΄ν„°μ˜ μˆ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ Tκ°€ μ£Όμ–΄μ§„λ‹€. 
각 ν…ŒμŠ€νŠΈ λ°μ΄ν„°λŠ” ν•œ μ€„λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆκ³ , λ¬Έμžμ—΄ Sκ°€ μ£Όμ–΄μ§„λ‹€. 
SλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ‘œλ§Œ κ΅¬μ„±λ˜μ–΄ μžˆκ³ , μ΅œλŒ€ 1000κΈ€μžμ΄λ‹€

좜λ ₯
각 ν…ŒμŠ€νŠΈ λ°μ΄ν„°μ— λŒ€ν•΄,
μž…λ ₯으둜 μ£Όμ–΄μ§„ λ¬Έμžμ—΄ S에 λ“±μž₯ν•˜μ§€ μ•ŠλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬Έμžμ˜ μ•„μŠ€ν‚€ μ½”λ“œ κ°’μ˜ ν•©μ„ ν•œ μ€„에 ν•˜λ‚˜μ”© μΆœλ ₯ν•œλ‹€.
// [3059] λ“±μž₯ν•˜μ§€ μ•ŠλŠ” 문자의 ν•©

/*
μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ‘œ κ΅¬μ„±λ˜μ–΄μžˆλŠ” λ¬Έμžμ—΄ Sκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ,
S에 λ“±μž₯ν•˜μ§€ μ•ŠλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬Έμžμ˜ μ•„μŠ€ν‚€ μ½”λ“œ κ°’μ˜ 합을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

λ¬Έμžμ—΄ Sκ°€ “ABCDEFGHIJKLMNOPQRSTUVW” 일 λ•Œ, S에 λ“±μž₯ν•˜μ§€ μ•ŠλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬ΈμžλŠ” X, Y, Z이닀. 
X의 μ•„μŠ€ν‚€ μ½”λ“œ 값은 88, YλŠ” 89, ZλŠ” 90μ΄λ―€λ‘œ 이 μ•„μŠ€ν‚€ μ½”λ“œ κ°’μ˜ 합은 267이닀.

μ•ŒνŒŒλ²³ λŒ€λ¬Έμžμ˜ μ•„μŠ€ν‚€ μ½”λ“œ 값은 λ‹€μŒκ³Ό κ°™λ‹€.
A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z
65	66	67	68	69	70	71	72	73	74	75	76	77	78	79	80	81	82	83	84	85	86	87	88	89	90

μž…λ ₯
μž…λ ₯은 T개의 ν…ŒμŠ€νŠΈ λ°μ΄ν„°λ‘œ κ΅¬μ„±λœλ‹€. 
μž…λ ₯의 첫 번째 μ€„μ—λŠ” μž…λ ₯ λ°μ΄ν„°μ˜ 수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ Tκ°€ 주어진닀. 
각 ν…ŒμŠ€νŠΈ λ°μ΄ν„°λŠ” ν•œ μ€„λ‘œ κ΅¬μ„±λ˜μ–΄ 있고, λ¬Έμžμ—΄ Sκ°€ 주어진닀. 
SλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ‘œλ§Œ κ΅¬μ„±λ˜μ–΄ 있고, μ΅œλŒ€ 1000κΈ€μžμ΄λ‹€

좜λ ₯
각 ν…ŒμŠ€νŠΈ 데이터에 λŒ€ν•΄,
μž…λ ₯으둜 주어진 λ¬Έμžμ—΄ S에 λ“±μž₯ν•˜μ§€ μ•ŠλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬Έμžμ˜ μ•„μŠ€ν‚€ μ½”λ“œ κ°’μ˜ 합을 ν•œ 쀄에 ν•˜λ‚˜μ”© 좜λ ₯ν•œλ‹€.
*/

#define _CRT_SECURE_NO_WARNINGS
// ν‘œμ€€ μŠ€νŠΈλ¦Όμ—μ„œ 읽기 및 μ“°κΈ°λ₯Ό μ œμ–΄ν•˜λŠ” 개체λ₯Ό μ„ μ–Έ
#include <iostream>
#include <algorithm>    // find
#include <string>
#include <cmath>        // abs
#include <vector>
using namespace std;

// μΏΌν„°(Quarter, $0.25)의 개수, λ‹€μž„(Dime, $0.10)의 개수, λ‹ˆμΌˆ(Nickel, $0.05)의 개수, νŽ˜λ‹ˆ(Penny, $0.01)
int arr[4] = { 25,10,5,1 };

int main() {
    int t;
    cin >> t;

    for (int i = 0; i < t; i++) {

        string str;
        cin >> str;

        int arr[26] = { 0 };
        int cnt = 0;

        for (int i = 0; i < str.length(); i++) {
            cnt = str[i] - 65;  // A = 65
            arr[cnt]++;         
        }

        int sum = 0;

        for (int i = 0; i < 26; i++) {
            if (arr[i] == 0) {
                sum += i + 65;      // μ•ˆμ“΄ λ¬Έμžλ“€μ„ λ‹€ λ”ν•œλ‹€
            }
        }
        cout << sum << "\n";
    }
    return 0;
}

728x90
λ°˜μ‘ν˜•
Comments