문자열 S와 숫자 X가 있다고 가정합니다. 주사위를 굴리는 M명의 다른 플레이어가 있습니다. 한 플레이어는 X가 아닌 다른 숫자가 나올 때까지 계속해서 주사위를 던집니다. 여기서 문자열 S에서 S[i]는 i번째 주사위를 던졌을 때의 숫자를 나타냅니다. M의 값을 찾아야 합니다. 한 가지 제약 조건은 S의 마지막 문자가 X가 될 수 없다는 것입니다. 따라서 예를 들어 string이 "3662123"이고 X =6이면 출력은 5가 됩니다. 이는 다음과 같이 설명할 수 있습니다. -
- 첫 번째 플레이어가 3점을 얻었습니다.
- 두 번째 플레이어는 6, 6, 2를 얻었습니다.
- 세 번째 플레이어가 1점을 얻었습니다.
- 네 번째 플레이어가 2점을 얻었습니다.
- 다섯 번째 플레이어가 3점을 얻었습니다.
작업은 간단합니다. 문자열을 탐색하고 X가 아닌 문자 수를 계산하면 그 수가 답이 됩니다.
예시
#include<iostream> using namespace std; int countPlayers(string str, int x) { int count = 0; for (int i = 0; i < str.size(); i++) { if (str[i] - '0' != x) count++; } return count; } int main() { string s = "3662123"; int x = 6; cout << "Number of players: " << countPlayers(s, x); }
출력
Number of players: 5