[백준] 2577번 : 숫자의 개수

Kim Yuhyeon·2022년 6월 29일
0

알고리즘 + 자료구조

목록 보기
64/161

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

문제

알고리즘 접근 방법

string으로 바꿔서 string을 돌면서 해당 인덱스에 +1 해준다.

풀이

나의 풀이

#include <iostream>
#include <string>

using namespace std;

int main(){

    int A, B, C, sum;

    cin >> A;
    cin >> B;
    cin >> C;

    string result = to_string(A*B*C);

    for(int i=0; i<10; i++){
        sum = 0;
        for (int j=0; j<result.length(); j++)
            if (result[j] == (i+'0')) sum++;
        cout << sum << '\n';
    }

    return 0;
}

더 간단한 풀이

#include <iostream>
#include <string>

using namespace std;

int main(){

    int A, B, C;

    int count[10] = {0,};

    cin >> A;
    cin >> B;
    cin >> C;

    string result = to_string(A*B*C);

    for (char ch : result) {		// 문자열의 문자들을 하나씩 꺼내온다. (foreach문 활용)
		// 문자를 숫자로 변환한 값의 인덱스를 1 증가시킨다.
		count[ch - '0']++;
	}

    for(int v:count)
        cout << v << '\n';
    return 0;
}

정리

아스키코드 조심조심

💡 참고 포스팅

st-lab님 블로그

0개의 댓글