>  기사  >  백엔드 개발  >  한 문자열의 다른 문자열에 있는 문자 빈도의 합

한 문자열의 다른 문자열에 있는 문자 빈도의 합

王林
王林앞으로
2023-09-01 15:37:13664검색

한 문자열의 다른 문자열에 있는 문자 빈도의 합

이 기사에서는 C++의 문자열 연산과 관련된 흥미로운 문제를 살펴보겠습니다. 문제 설명은 "한 문자열의 문자가 다른 문자열에 나타나는 빈도의 합"입니다. 이 질문은 C++의 문자열 조작, 문자 빈도 계산 및 매핑 개념에 대한 이해를 높일 수 있는 좋은 기회를 제공합니다.

문제 설명

두 개의 문자열이 주어졌을 때, 작업은 두 번째 문자열의 첫 번째 문자열에서 문자 발생 빈도의 합을 구하는 것입니다.

C++ 해결 방법

이 문제를 해결하기 위해 먼저 해시 맵을 사용하여 두 문자열에 대한 빈도 맵을 만듭니다. 빈도 도표는 문자열의 각 문자를 문자열의 해당 문자 수에 매핑한 것입니다. 이를 위해 STL unordered_map을 사용합니다. 빈도 도표를 작성한 후 첫 번째 문자열의 빈도 도표를 반복하고 두 번째 문자열에도 존재하는 각 문자에 대해 해당 빈도를 합계에 추가합니다.

이 솔루션을 구현하는 C++ 코드는 다음과 같습니다. -

으아아아

출력

으아아아

테스트 케이스 설명

문자열 "hello"와 "world"를 고려해 보겠습니다.

이 문자열을 sumOfFrequency 함수에 전달하면 먼저 두 문자열에 대한 빈도 맵이 생성됩니다. "hello"의 경우 빈도 매핑은 {'h':1, 'e':1, 'l':2, 'o':1}이고 "world"의 경우 빈도 매핑은 {'w': 1, ' o':1, 'r':1, 'l':1, 'd':1}.

그런 다음 함수는 "hello"의 빈도 맵을 반복하고 "world"에도 나타나는 각 문자에 대해 해당 빈도를 합계에 추가합니다. 공통 문자는 'o'와 'l'이며, "hello"의 빈도는 각각 1과 2입니다. 따라서 빈도의 합은 3이다.

따라서 이 프로그램의 출력은 "주파수 합은 3입니다."입니다.

결론

이 질문은 C++의 주파수 매핑 개념을 이해하고 실습할 수 있는 좋은 기회를 제공합니다. 이는 C++ 코딩 기술을 향상시키고 문자열 및 맵을 사용하여 문제를 해결하는 방법을 이해하는 데 유용한 질문입니다.

위 내용은 한 문자열의 다른 문자열에 있는 문자 빈도의 합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제