https://www.acmicpc.net/problem/11170
11170번: 0의 개수
N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다.
www.acmicpc.net
c++로 백준 11170번 문제를 풀어보겠다.
문제
N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라.
예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다.
입력
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 줄에는 N과 M이 주어진다.
- 1 ≤ T ≤ 20
- 0 ≤ N ≤ M ≤ 1,000,000
출력
각각의 테스트 케이스마다 N부터 M까지의 0의 개수를 출력한다.
예제 입력 1 복사
3
0 10
33 1005
1 4
예제 출력 1 복사
2
199
0
<문제 풀이>
처음에 작성한 코드는 다음과 같다.

visual studio에서는 원하는 대로 출력됐지만, 백준 사이트에서는 "틀렸습니다"라고 떴다.
이를 해결하기 위해 더 간단하게 코드를 작성했다.
int 형으로 입력받은 값을 string으로 변환해 더 계산하기 쉽도록 만들었다.
1. T를 선언한 후 입력받는다.
2. for문을 T번 반복하며 0의 개수를 T번 출력한다.
- for 반복문 코드 내용 -
N과 M을 입력받는다.
N부터 M까지 for문을 반복하며 0의 개수를 계산한다.
(int 형의 숫자를 string형으로 바꾼 후, string에 '0'의 개수가 몇 개인지 계산한다.)
계산한 count값을 한 줄에 출력한다.

'C++' 카테고리의 다른 글
[백준 알고리즘] 2506번 : 점수계산, c++ (0) | 2022.03.02 |
---|---|
[백준 알고리즘] 11365번 : !밀비 급일, c++ (0) | 2022.03.01 |
[백준 알고리즘] 1357번 : 뒤집힌 덧셈, c++ (0) | 2022.03.01 |
[백준 알고리즘] 10768번 : 특별한 날, c++ (0) | 2022.02.28 |
[백준 알고리즘] 1871번 : 좋은 자동차 번호판, c++ (0) | 2022.02.28 |