> 백엔드 개발 > C++ > 암호화된 문자열

암호화된 문자열

王林
풀어 주다: 2023-09-08 10:37:02
앞으로
1147명이 탐색했습니다.

암호화된 문자열

암호화는 특정 기술이나 특정 단계를 사용하여 데이터를 다른 종류의 정보로 변경하거나 이전 정보를 직접 수집할 수 없도록 변경하는 기술입니다. 암호화를 위해서는 특정 암호화 유형에 대해 고정된 특정 단계를 따라야 합니다.

이 질문에서 우리는 문자열을 얻게 되며 주어진 단계에 따라 이를 암호화해야 합니다. -

  • 먼저 동일한 문자를 포함하는 모든 하위 문자열을 가져와 해당 하위 문자열을 단일 문자와 하위 문자열의 길이로 바꿔야 합니다.

  • 이제 길이를 16진수 값으로 변경하고, 16진수 값의 모든 문자를 소문자로 변경해야 합니다.

  • 마지막으로 전체 문자열을 반대로 바꿉니다.

으아아아 으아아아

지침

먼저 동일한 수의 문자를 포함하는 모든 하위 문자열을 가져와서 문자의 빈도로 바꾸면 문자열 "a2b3c4"가 됩니다. 이제 길이를 16진수 값으로 변경했지만 2, 3, 4는 16진수 형태로 동일한 값을 갖습니다. 마지막으로 문자열을 뒤집으면 최종 결과는 4c3b2a가 됩니다.

으아아아 으아아아

지침

먼저 문자열을 주파수 문자열 "o12"로 변환합니다. 이제 16진수 값 12는 C입니다. 이를 소문자, 즉 c로 변경하고 이를 문자열로 바꾼 다음 문자열을 반대로 바꿉니다.

방법

위의 예를 통해 문제에 대한 아이디어를 얻었으니 이제 구현 부분으로 넘어가겠습니다 -

  • 구현에서는 먼저 입력을 정수로 취하고 문자열을 반환 값으로 반환하는 함수를 구현하겠습니다.

  • 이 함수는 한 번의 수정으로 주어진 정수를 16진수 값으로 변환하는 데 사용됩니다. 즉, 영어 대문자 대신 소문자 영어를 사용합니다.

  • for 루프를 사용하여 문자열을 반복한 다음 동일한 문자의 하위 문자열에 대해 현재 문자와 동일한 문자를 찾을 때까지 while 루프를 사용하는 또 다른 함수를 정의합니다.

  • 빈도를 계산하여 16진수 값으로 변경한 후 현재 인덱스 문자가 있는 문자열에 추가하겠습니다.

  • 마지막으로 문자열을 뒤집어서 인쇄를 위해 기본 함수로 반환합니다.

으아아아

출력

으아아아

시간과 공간의 복잡성

위 코드의 시간 복잡도는 O(N)입니다. 여기서 N은 주어진 문자열의 크기입니다. 문자열을 순회하는 데 N 시간이 걸렸고, 문자열을 뒤집는 데는 N 시간 미만이 걸렸습니다.

최종 문자열을 저장하는 위 코드의 공간 복잡도는 O(N)입니다. 이를 무시하면 추가 공간이 사용되지 않습니다.

주의

암호화는 무한한 방법으로 수행될 수 있으며, 키를 암호화하는 규칙을 정의하기만 하면 됩니다. 암호화의 주요 특징은 동일한 입력에 대해 매번 동일한 결과를 제공해야 한다는 것입니다.

결론

이 튜토리얼에서는 규칙에 따라 특정 문자열을 암호화하는 코드를 구현했습니다. 먼저 동일한 유형의 요소가 포함된 하위 문자열을 가져와서 이를 문자 및 해당 빈도로 바꿔야 합니다. 다음으로 빈도를 16진수로 변경하고 마지막으로 전체 문자열을 반전시킵니다. 위 코드의 시간 복잡도는 O(N)입니다.

위 내용은 암호화된 문자열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿