[백준/C++] 2774 - 아름다운 수

orangesnail·2025년 5월 15일

백준

목록 보기
110/169

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


정답 코드

int n = s[i] - '0' 를 통해 문자를 다시 정수로 변환해주었다. 0과 해당 문자의 아스키 코드만큼의 차이가 해당 문자가 나타내는 숫자가 된다.

#include <iostream>
using namespace std;

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

    while (t--) {
        int x;
        cin >> x;

        bool used[10] = {};
        int answer = 0;
        string s = to_string(x);

        for (int i = 0; i < s.length(); i++) {
            int n = s[i] - '0'; // 문자를 정수로 변환
            if (!used[n]) {
                used[n] = true;
                answer++;
            }
        }
        cout << answer << endl;
    }
    return 0;
}
profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글