C++에서 문자를 재정렬하여 회문(가능한 경우)을 형성합니다.
주어진 길이의 문자열 'str'이 제공됩니다. 임무는 주어진 입력 문자열에서 문자를 추가하거나 제거하지 않고 출력이 회문 문자열이 되도록 문자를 재배열하는 것입니다. 회문 문자열은 문자가 처음부터 끝까지 동일하게 들리도록 배열된 문자열입니다.
이를 위한 다양한 입력 및 출력 시나리오를 살펴보겠습니다. -
Input - String str = "itnin"
Output - 가능하다면 회문 문자열을 형성하기 위해 문자를 재배열하는 방법은 다음과 같습니다: nitin
설명 - 문자열 유형의 변수가 주어졌습니다. str이라고 가정해 보겠습니다. 이제 입력 문자열의 문자를 재정렬하여 회문 문자열이 아닌 경우 이를 회문 문자열로 만듭니다
가능한 경우 'NOT POSSIBLE'을 반환합니다. 따라서 입력 문자열에 대한 출력은 'nitin'입니다.Input - String str = "baaaba"
Output - 회문을 형성하기 위해 가능한 문자 재배열의 결과는 다음과 같습니다. aabbaa
Explanation - 문자열 유형의 변수가 주어집니다. str이라고 가정해 보겠습니다. 이제 입력 문자열의 문자를 다시 배열하여 회문 문자열로 만들고 이것이 가능하지 않으면 'NOT POSSIBLE'을 반환합니다. 따라서 입력 문자열에 대한 출력은 'aabbaa'입니다.
아래 프로그램에서 사용한 방법은 다음과 같습니다
문자열형 변수를 str이라고 가정하고 입력하고, 문자열의 크기를 계산하여 length라는 변수에 저장합니다.
데이터를 재정렬(str, length) 함수에 전달합니다.
-
Rearrangement(arr, length)
함수 내에서 char 및 정수 유형의 키-값 쌍을 저장하는 'um'이라는 unordered_map 유형 변수를 만듭니다.
정수형 변수 total을 선언하고 0으로 설정합니다.
문자형 변수 'ch'와 문자열형 변수 str_1, str_2를 생성합니다.
i가 길이보다 작아질 때까지 i에서 0까지의 루프로 시작합니다. 루프 내에서 값을 1씩 증가시켜 um[str[i]]를 설정합니다.
FOR 반복을 시작하여 맵 'um'을 반복합니다. 루프 내에서 it.second % 2가 0이 아닌지 확인한 다음 합계를 1만큼 늘리고 ch를 it.first로 설정합니다.
IF total이 1보다 크거나 total = 1이고 길이 % 2 = 0인지 확인하면 0이 반환됩니다.
FOR 반복을 시작하여 맵 'um'을 반복합니다. 루프 내에서 str(it.second / 2, it.first)는 str로 설정되고, str_1은 str_1 + str로 설정되며, str_2는 str + str_2로 설정됩니다.
IF total = 1인지 확인한 다음 str_1 + ch + str_2를 반환합니다. 그렇지 않으면 str_1 + str_2가 반환됩니다.
결과를 인쇄하세요.
Example
#include <bits/stdc++.h> using namespace std; string Rearrangement(string str, int length){ unordered_map<char, int> um; int total = 0; char ch; string str_1 = ""; string str_2 = ""; for (int i = 0; i < length; i++){ um[str[i]]++; } for(auto it : um){ if(it.second % 2 != 0){ total++; ch = it.first; } } if(total > 1 || total == 1 && length % 2 == 0){ return 0; } for(auto it : um){ string str(it.second / 2, it.first); str_1 = str_1 + str; str_2 = str + str_2; } if(total == 1){ return str_1 + ch + str_2; } else{ return str_1 + str_2; } } int main(){ string str = "itnin"; int length = str.size(); cout<<"Rearrangement of characters to form palindrome if possible is: "<<Rearrangement(str, length); return 0; }
Output
위 코드를 실행하면 다음과 같은 출력이 생성됩니다
Rearrangement of characters to form palindrome if possible is: nitin
위 내용은 C++에서 문자를 재정렬하여 회문(가능한 경우)을 형성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 Character.isDigit() 함수를 사용하여 문자가 숫자인지 확인합니다. 문자는 컴퓨터 내부에서 ASCII 코드 형식으로 표시됩니다. 그 중 숫자 0~9에 해당하는 아스키코드 값은 각각 48~57이다. 문자가 숫자인지 확인하려면 Java의 Character 클래스에서 제공하는 isDigit() 메서드를 사용할 수 있습니다. isDigit() 메소드는 Character 클래스에 속합니다.

자동 고침을 사용하여 Word에서 화살표를 입력하는 방법 Word에서 화살표를 입력하는 가장 빠른 방법 중 하나는 미리 정의된 자동 고침 바로 가기를 사용하는 것입니다. 특정 문자 시퀀스를 입력하면 Word에서는 자동으로 해당 문자를 화살표 기호로 변환합니다. 이 방법을 사용하면 다양한 화살표 스타일을 그릴 수 있습니다. 자동 고침을 사용하여 Word에서 화살표를 입력하려면 문서에서 화살표를 표시할 위치로 커서를 이동합니다. 다음 문자 조합 중 하나를 입력하십시오. 입력한 내용을 화살표 기호로 수정하지 않으려면 키보드의 백스페이스 키를 눌러

위 첨자는 일반 텍스트 줄보다 약간 위에 설정해야 하는 문자 또는 숫자입니다. 예를 들어, 1st를 써야 한다면 문자 st는 문자 1보다 약간 높아야 합니다. 마찬가지로 아래 첨자는 문자 그룹 또는 단일 문자이므로 일반 텍스트 수준보다 약간 낮게 설정해야 합니다. 예를 들어, 화학식을 작성할 때 일반 문자 줄 아래에 숫자를 배치해야 합니다. 다음 스크린샷은 위 첨자 및 아래 첨자 형식의 몇 가지 예를 보여줍니다. 어려운 작업처럼 보일 수도 있지만 텍스트에 위 첨자 및 아래 첨자 서식을 적용하는 것은 실제로 매우 간단합니다. 이 기사에서는 위 첨자 또는 아래 첨자를 사용하여 텍스트 서식을 쉽게 지정하는 방법을 몇 가지 간단한 단계로 설명합니다. 이 기사를 재미있게 읽으셨기를 바랍니다. Excel에서 위 첨자를 적용하는 방법

실제 또는 숫자 키보드는 표면에 제한된 수의 문자 옵션을 제공합니다. 하지만 iPhone, iPad, Mac에서는 여러 가지 방법으로 악센트 부호가 있는 문자, 특수 문자 등에 접근할 수 있습니다. 표준 iOS 키보드를 사용하면 대문자와 소문자, 표준 숫자, 구두점 및 문자에 빠르게 액세스할 수 있습니다. 물론 그 외에도 많은 캐릭터들이 있습니다. 발음 구별 부호가 있는 문자부터 거꾸로 된 물음표까지 선택할 수 있습니다. 숨겨진 특별한 캐릭터를 우연히 발견했을 수도 있습니다. 그렇지 않은 경우 iPhone, iPad 및 Mac에서 액세스하는 방법은 다음과 같습니다. iPhone 및 iPad에서 확장 문자에 액세스하는 방법 iPhone 또는 iPad에서 확장 문자를 얻는 방법은 매우 간단합니다. "정보"에서는 "

matplotlib에서 한자를 올바르게 표시하는 것은 많은 중국 사용자가 자주 겪는 문제입니다. 기본적으로 matplotlib는 영어 글꼴을 사용하므로 중국어 문자를 올바르게 표시할 수 없습니다. 이 문제를 해결하려면 올바른 중국어 글꼴을 설정하고 이를 matplotlib에 적용해야 합니다. 다음은 matplotlib에서 중국어 문자를 올바르게 표시하는 데 도움이 되는 몇 가지 특정 코드 예제입니다. 먼저 필수 라이브러리를 가져와야 합니다. importmatplot

이 기사에서는 모음을 해당 색인에서 알파벳순으로 재배열하여 C++에서 주어진 문자열을 수정하는 방법에 대해 설명합니다. 또한 이 문제를 해결하는 데 사용된 방법을 설명하고 테스트 사례와 함께 예제를 제공합니다. 문제 설명 주어진 문자열에서 모음을 해당 색인에서 알파벳 순서로 재배열하세요. 문자열의 자음은 원래 순서를 유지해야 합니다. 예를 들어, 문자열 "tutorialspoint"가 주어지면 출력은 "tatiriolspount"여야 합니다. 방법 이 문제는 간단한 알고리즘을 사용하여 해결할 수 있습니다. 먼저 주어진 문자열의 모든 모음을 각각의 순서대로 포함하는 별도의 문자열을 만들 수 있습니다. 그런 다음 해당 문자열을 알파벳순으로 정렬할 수 있습니다. 마침내,

Golang을 사용하여 문자가 문자인지 확인하는 방법 Golang에서는 유니코드 패키지의 IsLetter 함수를 사용하여 문자인지 여부를 확인할 수 있습니다. IsLetter 함수는 주어진 문자가 문자인지 확인합니다. 다음으로 Golang을 사용하여 문자가 문자인지 판별하는 코드를 작성하는 방법을 자세히 소개하겠습니다. 먼저 코드를 작성할 새 Go 파일을 만들어야 합니다. 파일 이름을 "main.go"로 지정할 수 있습니다. 암호

Java에서 Enter 키의 문자 표현은 `입니다. Java에서 `는 개행 문자를 나타내며 이 문자가 나타나면 텍스트 출력이 줄바꿈됩니다. 다음은 ``를 사용하여 Enter 키를 나타내는 방법을 보여주는 간단한 코드 예제입니다. publicclassMain{publicstaticvoidmain(String[]args){System.out.println("This is the first line of this
