[BOJ/백준] 2577번 숫자의 개수 C++ 문제 풀이

2020. 9. 21. 22:02·Baekjoon/단계별로 풀어보기
728x90

단계별로 풀어보기 - 1차원 배열 - [3단계] 2577번

문제

문제 링크 : www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다.

www.acmicpc.net

입력 복사 : 

150 266 427

 

풀이

입력 받은 숫자의 곱을 처리할 때, string으로 변환하여 처리하였다.

숫자로 처리하면 그 길이를 알기 어렵기 때문에 string으로 변환하여 각 문자의 숫자를 세었다.

숫자를 string으로 변환하는 데에는 to_string()함수를 사용하였다.

num_result 배열에 값을 저장할 때 사용한 인덱스에서는 문자 0을 빼고 사용하였다.

그 이유는 다음 아스키코드표를 참고하면서 설명하도록 하겠다.

아스키코드표

문자를 정수가 들어가야 할 부분에 넣게 되면 아스키코드 상의 10진수에 해당하는 숫자로 표기되게 된다.

result[i]를 배열 인덱스 부분에 넣게 되면 문자 '0'이 48번 인덱스를 나타내게 된다.

48번 인덱스를 사용하는 것보다는 0번 인덱스를 사용하는 것이 메모리나 인식적인 측면에서 효율적이기 때문에

'0'(48)을 빼어 해당 문자에 해당하는 숫자로 사용하였다.

 

CODE

#include <iostream>
#include <string>
using namespace std;

int main() {
	int num[3];
	int num_result[10] = { 0 };

	for (int i = 0; i < 3; i++) {
		cin >> num[i];
	}
	
	int i_result;
	i_result = num[0] * num[1] * num[2];
	string result = to_string(i_result);

	for (int i = 0; i < size(result); i++) {
		num_result[result[i] - '0']++;
	}

	for (int i = 0; i < 10; i++) {
		cout << num_result[i] << endl;
	}
}

 

결과

728x90

'Baekjoon > 단계별로 풀어보기' 카테고리의 다른 글

[BOJ/백준] 1546번 평균 C++ 문제 풀이  (1) 2020.09.21
[BOJ/백준] 3052번 나머지 C++ 문제 풀이  (0) 2020.09.21
[BOJ/백준] 2562번 최댓값 C++ 문제 풀이  (0) 2020.09.21
[BOJ/백준] 10818번 최소, 최대 C++ 문제 풀이  (0) 2020.09.21
[BOJ/백준] 1110번 더하기 사이클 C++ 문제 풀이  (0) 2020.09.21
'Baekjoon/단계별로 풀어보기' 카테고리의 다른 글
  • [BOJ/백준] 1546번 평균 C++ 문제 풀이
  • [BOJ/백준] 3052번 나머지 C++ 문제 풀이
  • [BOJ/백준] 2562번 최댓값 C++ 문제 풀이
  • [BOJ/백준] 10818번 최소, 최대 C++ 문제 풀이
s_ih_yun
s_ih_yun
  • s_ih_yun
    CODESYUN
    s_ih_yun
  • 전체
    오늘
    어제
    • 분류 전체보기 (338)
      • Web (8)
      • Java (7)
      • Spring (18)
      • Git (16)
      • MyBatis (1)
      • HTML & CSS (14)
      • JavaScript (11)
      • DevOps (4)
      • Cloud (8)
      • Lanuage (13)
        • C++ (3)
        • Python (10)
      • DB (1)
        • MySQL (1)
        • Oracle (2)
      • Computer Science (26)
        • Concept (3)
        • Algorithm (23)
      • Baekjoon (104)
        • 단계별로 풀어보기 (78)
      • CodeUp (98)
        • Python 기초 100제 (98)
      • Programmers (2)
      • Books (3)
      • etc (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Syun's Pages
  • 인기 글

  • 태그

    myBatis
    oracle
    C
    VS Code
    spring
    Python
    git
    Programmers
    CodeUp 기초 100제
    웹
    JavaScript
    BOJ
    clean code
    aws
    Tistory
    web
    MySQL
    단계별로 풀어보기
    c++
    알고리즘
    codeup
    SourceTree
    github
    Cloud
    CSS
    자료구조
    java
    HTML
    db
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_ih_yun
[BOJ/백준] 2577번 숫자의 개수 C++ 문제 풀이
상단으로

티스토리툴바