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

[BAEKJOON C++] 2774_μ•„λ¦„λ‹€μš΄ 수 λ³Έλ¬Έ

μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

[BAEKJOON C++] 2774_μ•„λ¦„λ‹€μš΄ 수

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 7. 15. 22:58
728x90
λ°˜μ‘ν˜•
μœ€μ •μ΄λŠ” λ­λ“ μ§€ μ•„λ¦„λ‹€μš΄ κ²ƒμ΄ μ’‹λ‹€κ³  μƒκ°ν•œλ‹€. 
κ·Έλž˜μ„œ μœ€μ •μ΄λŠ” μ‚¬λ¬Όμ„ λ³Ό λ•Œ μžμ‹ μ΄ μ •ν•œ λ°©λ²•μœΌλ‘œ μ•„λ¦„λ‹€μš΄ μ •λ„λ₯Ό ν‰κ°€ν•œλ‹€. 

μœ€μ •μ΄λŠ” μˆ˜λ₯Ό λ³Ό λ•Œλ„ μ΄λŸ° μ•„λ¦„λ‹€μš΄ μˆ˜μ˜ μ •λ„λ₯Ό λ”°μ§€λŠ”데, 
μ•„λ¦„λ‹€μš΄ μˆ˜μ˜ μ •λ„λŠ” κ·Έ μˆ˜λ₯Ό μ΄λ£¨κ³  μžˆλŠ” 10μ§„μˆ˜μ˜ μ„œλ‘œ λ‹€λ₯Έ μˆ«μžμ˜ κ°œμˆ˜λ₯Ό μ˜λ―Έν•œλ‹€.

122μ΄λΌλŠ” μˆ˜λŠ” 1κ³Ό 2 λΌλŠ” 2개의 μˆ«μžλ‘œ μ΄λ£¨μ–΄μ Έ μžˆμœΌλ―€λ‘œ μ•„λ¦„λ‹€μš΄ μ •λ„κ°€ 2κ°€ λœλ‹€. 
μœ€μ •μ΄μ˜ λ°©λ²•μœΌλ‘œ μ—¬λŸ¬ μˆ˜λ“€μ˜ μ•„λ¦„λ‹€μš΄ μ •λ„λ₯Ό μ•Œμ•„λ³΄μž.

μž…λ ₯
첫째 μ€„μ—λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ κ°œμˆ˜ Tκ°€ μ£Όμ–΄μ§„λ‹€. 
λ‹€μŒ μ€„λΆ€ν„°λŠ” μ•„λ¦„λ‹€μš΄ μ •λ„λ₯Ό μ•Œκ³  μ‹Άμ€ μˆ˜ X(1 ≤ X ≤ 1000000000)κ°€ μ£Όμ–΄μ§„λ‹€

좜λ ₯
각각의 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ§ˆλ‹€ X의 μ•„λ¦„λ‹€μš΄ μ •λ„λ₯Ό ν•œ μ€„에 ν•˜λ‚˜μ”© μž…λ ₯으둜 μ£Όμ–΄μ§„ μˆœμ„œλŒ€λ‘œ μΆœλ ₯ν•œλ‹€
// [2774] μ•„λ¦„λ‹€μš΄ 수

/*
μœ€μ •μ΄λŠ” 뭐든지 μ•„λ¦„λ‹€μš΄ 것이 μ’‹λ‹€κ³  μƒκ°ν•œλ‹€. 
κ·Έλž˜μ„œ μœ€μ •μ΄λŠ” 사물을 λ³Ό λ•Œ μžμ‹ μ΄ μ •ν•œ λ°©λ²•μœΌλ‘œ μ•„λ¦„λ‹€μš΄ 정도λ₯Ό ν‰κ°€ν•œλ‹€. 

μœ€μ •μ΄λŠ” 수λ₯Ό λ³Ό λ•Œλ„ 이런 μ•„λ¦„λ‹€μš΄ 수의 정도λ₯Ό λ”°μ§€λŠ”λ°, 
μ•„λ¦„λ‹€μš΄ 수의 μ •λ„λŠ” κ·Έ 수λ₯Ό 이루고 μžˆλŠ” 10μ§„μˆ˜μ˜ μ„œλ‘œ λ‹€λ₯Έ 숫자의 개수λ₯Ό μ˜λ―Έν•œλ‹€.

122μ΄λΌλŠ” μˆ˜λŠ” 1κ³Ό 2 λΌλŠ” 2개의 숫자둜 이루어져 μžˆμœΌλ―€λ‘œ μ•„λ¦„λ‹€μš΄ 정도가 2κ°€ λœλ‹€. 
μœ€μ •μ΄μ˜ λ°©λ²•μœΌλ‘œ μ—¬λŸ¬ μˆ˜λ“€μ˜ μ•„λ¦„λ‹€μš΄ 정도λ₯Ό μ•Œμ•„λ³΄μž.

μž…λ ₯
첫째 μ€„μ—λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Tκ°€ 주어진닀. 
λ‹€μŒ μ€„λΆ€ν„°λŠ” μ•„λ¦„λ‹€μš΄ 정도λ₯Ό μ•Œκ³  싢은 수 X(1 ≤ X ≤ 1000000000)κ°€ 주어진닀

좜λ ₯
각각의 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ§ˆλ‹€ X의 μ•„λ¦„λ‹€μš΄ 정도λ₯Ό ν•œ 쀄에 ν•˜λ‚˜μ”© μž…λ ₯으둜 주어진 μˆœμ„œλŒ€λ‘œ 좜λ ₯ν•œλ‹€
*/

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

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

	string temp;
	for (int i = 0; i < T; i++) {
		cin >> temp;

		int index = 0;
		// 0~9 숫자
		int arr[10] = { 0, };
		for (int j = 0; j < temp.length(); j++) {
			index = temp[j] - '0';
			arr[index] ++;
		}

		int result = 0;
		// index μ—μ„œ 숫자 μžˆλŠ” μ•„λ¦„λ‹€μš΄ 수만 체크!
		for (int j = 0; j < 10; j++) {
			if (arr[j] != 0) {
				result += 1;
			}
		}
		cout << result << '\n';
	}
}

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