> 백엔드 개발 > C++ > 본문

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

王林
풀어 주다: 2023-09-01 15:37:13
앞으로
709명이 탐색했습니다.

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

이 기사에서는 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿