-
2577.숫자의 개수알고리즘/백준 BAEK JOON 2020. 4. 21. 22:55
이번에 풀어볼 문제는 난이도는 굉장히 쉽다면 쉽다. 구현의 분류에 있는 문제인데
어떻게하면 좀더 효율적으로 풀 수 있는지 고민해볼 수도 있고 여러사람의 코드를 보면서
생각해볼 수 있는 문제인 것 같다. 지금까지 풀었던 구현 문제들(블로그에 포스팅 안한 것도 있음)을 보면
대부분 난이도는 그렇게 어렵지 않지만 생각해보기 좋은 문제들이 나오는 것 같다.
< Code 설명 >
#include <iostream> #include <string.h> #include <algorithm> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; int sum = a*b*c; // 3개의 수를 곱한 값을 저장 string str = to_string(sum); // 문자열로 바꾼다. sort(str.begin(),str.end()); // sort로 정렬해준다. int answer[11]={0,}; // 정답이 저장될 배열 공간이며 숫자의 갯수를 // 카운트 할 것이기 때문에 0으로 초기화 while(!str.empty()){ answer[str.back()-'0']+=1; // 숫자인 문자와 같은 배열의 위치값을 올려준다. // ex) '0'은 answer[0]의 값 ++ // '5'는 answer[5]의 값 ++ str.pop_back(); // 탐색이 끝난건 빼준다. } for(int i=0; i<10; i++){ // 정답 출력! cout << answer[i] << "\n"; } return 0; }
반응형'알고리즘 > 백준 BAEK JOON' 카테고리의 다른 글
2798.블랙잭 (0) 2020.04.23 2884.알람 시계 (0) 2020.04.21 1793.타일링 (0) 2020.04.20 1722.순열의 순서 (0) 2020.04.15 5430.AC (0) 2020.04.13 댓글