알고리즘 공부 2

lsh235·2024년 10월 9일
0

CodingTest

목록 보기
9/31

Array

문제 : 백준 2577-숫자의 개수

생각한 구현 내용

  1. 3개 A B C 입력 받은 후 전부 곱하고 한자리 씩 for문을 돌면서 0 ~ 10이 존재하는 index를 0으로 초기화 시킨 후에 해당 인덱스를 1씩 더하자.
  2. 인덱스 값 출력

구현 중 문제점

인덱스에 값을 1씩 늘릴 때 문제 발생, 계속 0인 상태임.

해결 방법

    int d[10] = {0};
    for (const auto& num : sum) {
        d[stoi(to_string(num))]++;
    }

char를 to_string으로 변환하면서 변환되지 않으면서 값이 증가하지 못하는 문제였다.

구현 코드

#include <iostream>
#include <string>

using namespace std;

int main() {
    int A, B, C;

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

    const string sum = to_string(A * B * C);
    int d[10] = {0};

    for (const auto& num : sum) {
        d[num - '0']++;
    }

    for (const auto& result : d) {
        std::cout << result << std::endl;
    }

    return 1; 
}

참조

https://blog.encrypted.gg/725
개선 코드

0개의 댓글