본문 바로가기

프로그래밍_백준/C++

(c++) 백준 2577번 숫자의 개수 [string으로 변환, 범위 기반 for]

728x90
반응형

 

백준 2577번 문제입니다!

이 문제의 핵심은 0~9까지의 배열을 설정해서 값을 하나씩 증가 시키는 겁니다!

 

그 전에 for( : )문을 사용할려고 합니다!

이 표현이 생소할 수도 있어요 왜냐하면 최근에 새로 생긴 문법이거든요!

반복 횟수가 배열 요소의 개수에 맞춰서 자동으로 결정이 됩니다!

for(요소변수:배열이름)

 

to_string() 함수는 int->string으로

stoi() 함수는 string->int로 변환합니다.

 

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

int main()
{
	int a, b, c;//변수 a,b,c
	int count[10] = {};//0~9까지의 숫자
	string d;

	cin >> a >> b >> c;
	
	d = to_string(a * b * c);//int 값을 string으로 변환

	for (char ch:d) {//d의 값을 하나 하나 꺼내옴
		count[ch - '0']++;//아스키 코드 '0'을 빼서 값을 구함
	}
	
	for (int i:count) {//count 값을 출력
		cout << i << endl;
	}
	return 0;
}
728x90
반응형