```
백준 21567번 숫자의 개수2 C++로 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 21567번 풀이
https://www.acmicpc.net/problem/21567
21567번: 숫자의 개수 2
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 1,000,000보다 작은 자연수이다.
www.acmicpc.net
백준 21567번 숫자의 개수2는
난이도 쉬움 등급의 문제로서
세 자연수 A, B, C 가 주어질 때
A 곱하기 B 곱하기 C 를 계산해서
계산된 숫자에서 0 부터 9 까지가 몇번 쓰였는지 구하는 문제이다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
자료형은 숫자의 범위가 1,000,000보다 작은 자연수를 3개 곱하는 것이기 때문에
충분하게 큰 자료형이 필요해서
0 부터 18,446,744,073,709,551,615 까지 담을수 있는 unsigned long long을 썼습니다.
값을 구한뒤
스트링으로 변환하고
각 위치 값의
배열에 매칭되는 인덱스에 1씩 더해서
카운팅하고
출력 해주었습니다.
전체 코드는 아래와 같으며
복잡도는 O(n)입니다.
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <algorithm>
#include <numeric>
#include <cmath>
int main()
{
std::cin.tie(NULL);
std::ios::sync_with_stdio(false);
unsigned long long a;
unsigned long long b;
unsigned long long c;
std::cin >> a;
std::cin >> b;
std::cin >> c;
unsigned long long abc = a * b * c;
std::string tempStr = std::to_string(abc);
int32_t numArray[10] = { 0,0,0,0,0,0,0,0,0,0 };
while (true)
{
if (tempStr.empty())
{
break;
}
const char tempChar = tempStr.back();
const int tempDigit = tempChar - '0';
numArray[tempDigit] += 1;
tempStr.pop_back();
}
for (int i = 0; i < 10; i++)
{
std::cout << numArray[i] << "\n";
}
}
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩하시길 바랍니다 ~ :)
참조 및 인용
C++ Primer
Introduction to Algorithms
https://codemasterkimc.tistory.com/35
C++ 이론을 배울수 있는 곳 정리
개요 C++을 배우는 책, 강의, 블로그, 링크 등을 공유합니다. (링크 및 간략한 설명을 하였으나 만약 원작자가 링크를 거는것을 원치 않을 경우 연락주시기 바랍니다.) 서적 https://www.amazon.com/Prime
codemasterkimc.tistory.com
https://codemasterkimc.tistory.com/50
300년차 개발자의 좋은 코드 5계명 (Clean Code)
이번 글을 통해 배워갈 내용 좋은 코드(Clean Code)를 작성하기 위해 개발자로서 생각해볼 5가지 요소를 알아보겠습니다. 개요 좋은 코드란 무엇일까요? 저는 자원이 한정적인 컴퓨터 세상에서 좋
codemasterkimc.tistory.com
'C++ > C++ 알고리즘' 카테고리의 다른 글
| 백준 2712번 단위 변환 C++ 구현해보기 (0) | 2021.09.04 |
|---|---|
| 백준 2711번 인덱스 지운 문자열 C++ 구현해보기 (0) | 2021.09.04 |
| 백준 2355번 시그마 C++로 구현해보기 (0) | 2021.09.02 |
| 백준 2460번 지능형기차2 C++로 구현해보기 (0) | 2021.09.02 |
| 백준 1864번 문어숫자 C++로 구현해보기 (0) | 2021.09.02 |