이 글에서는 숫자 n이 주어졌는데, 주어진 숫자에서 중복된 숫자를 제거해야 합니다.
Input: x = 12224 Output: 124 Input: x = 124422 Output: 1242 Input: x = 11332 Output: 132
주어진 문제에서 우리는 모든 숫자를 조사하고 중복된 숫자를 제거할 것입니다.
주어진 방법에서 우리는 오른쪽에서 왼쪽으로 n개의 숫자를 모두 반복합니다. n 모듈로 10을 취하고 n을 10으로 나누어 n의 숫자를 반복합니다. 이제 현재 숫자는 n mod 10입니다. 이전 번호와 비교하여 확인합니다. 숫자가 동일하면 이제 n을 반복합니다. 유사하지 않으면 이 숫자를 새 숫자에 추가하고 이전 숫자를 현재 숫자로 변경한 후 루프를 계속합니다.
#include <bits/stdc++.h> #define MOD 1000000007 using namespace std; int main() { int n = 1222333232; // given n int new_n = 0; // new number int po = 1; // will b multiple of ten for new digits int prev = -1; // previous digit int curr; // current digit while(n) { curr = n % 10; if(prev != curr) { // if a digit is not repeated then we go in this block new_n = new_n + (curr * po); // we add a new digit to new_n po *= 10; prev = curr; } n /= 10; } cout << new_n << "\n"; return 0; }
123232
위 방법에서는 단순히 n의 숫자를 반복하고 이전 숫자와 현재 숫자가 일치하지 않으면 해당 숫자를 새 숫자에 추가합니다. , 숫자가 추가됨에 따라 현재 숫자와 이전 숫자가 일치하는 경우 숫자 위치에 사용되는 po도 추가합니다. 이 코드 블록을 실행하지 않고 n이 0이 될 때까지 계속 반복합니다.
이 글에서는 주어진 숫자에서 중복된 숫자를 제거하는 문제를 해결했습니다. 우리는 또한 이 문제에 대한 C++ 프로그램과 이 문제를 해결하는 완전한 방법(일반 방법)을 배웠습니다. C, Java, Python 등과 같은 다른 언어로 동일한 프로그램을 작성할 수 있습니다. 이 기사가 도움이 되기를 바랍니다.
위 내용은 C++를 사용하여 주어진 숫자에서 중복 숫자 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!