>  기사  >  백엔드 개발  >  모음 쌍 사이의 최소 거리를 최대화하도록 문자열을 재배열합니다.

모음 쌍 사이의 최소 거리를 최대화하도록 문자열을 재배열합니다.

王林
王林앞으로
2023-09-11 19:49:031087검색

모음 쌍 사이의 최소 거리를 최대화하도록 문자열을 재배열합니다.

이 기사에서는 문자열 조작 분야의 흥미로운 문제인 "모음 쌍 사이의 최소 거리를 최대화하기 위해 문자열을 재배열"하는 문제를 풀어보겠습니다. 이 문제는 두 모음 문자 사이의 가능한 최대 최소 거리를 보장하기 위해 문자열의 문자 배열을 조작해야 하는 문제입니다. 우리는 이 문제를 자세히 논의하고 C++ 코드 구현을 제공하며 예제를 통해 설명할 것입니다.

문제 설명 이해하기

문자열이 주어지면 과제는 모음 쌍 사이의 최소 거리가 최대화되도록 문자열의 문자를 재배열하는 것입니다. 즉, 모음이 가능한 한 서로 멀리 떨어져 있기를 원합니다.

영어의 모음은 "a", "e", "i", "o", "u"와 그 대문자 버전입니다.

방법

이 문제를 해결하기 위해 우리는 2단계 접근 방식을 취할 것입니다 -

먼저 문자열의 모음 수를 세고 그 위치를 배열에 저장합니다.

다음으로 배열을 정렬하고 연속된 두 요소 간의 최대 차이를 계산합니다. 이 차이는 모음 쌍 사이의 최대 및 최소 거리를 나타냅니다.

이 전략을 C++로 구현해 보겠습니다. -

으아악

출력

으아악

이 코드는 먼저 문자열에서 모든 모음의 위치를 ​​찾아 벡터에 저장합니다. 그런 다음 이 벡터를 정렬하고 연속 요소 간의 최대 차이를 찾습니다. 이 차이는 모음 쌍 사이의 최대 및 최소 거리를 나타냅니다.

테스트 케이스

문자열 "프로그래밍"을 생각해 봅시다. 모음 "o", "a", "i"의 위치는 각각 1, 4, 7입니다. 따라서 모음 쌍 사이의 최대 및 최소 거리는 3입니다.

결론

이 문서에서는 주어진 문자열에서 모음 쌍 사이의 최소 거리를 최대화하는 문제에 대한 단계별 접근 방식을 제공합니다. 해결 방법에는 모음 수를 세고 해당 위치를 저장한 다음 해당 위치 간의 최대 차이를 찾는 작업이 포함됩니다. 언뜻 보면 문제가 복잡해 보일 수도 있지만, 다음 단계로 나누어 보면 문제가 크게 단순화됩니다.

위 내용은 모음 쌍 사이의 최소 거리를 최대화하도록 문자열을 재배열합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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