이 문제에서는 영어 알파벳으로 구성된 문자열 str이 제공됩니다. 우리의 임무는 비트 연산을 사용하여 알파벳에서 문자의 위치를 찾는 것입니다.
문제 설명: 여기서는 문자열의 각 문자의 위치를 영어 알파벳 그대로 반환합니다.
문자열의 문자는 대소문자를 구분하지 않습니다. 즉 "t"와 "T"는 동일하게 취급됩니다.
문제를 이해하기 위해 예를 들어 보겠습니다.
입력: str ="튜토리얼 포인트"
출력: 20 21 20 15 18 9 1 12 19 16 15 9 14 20
해결 방법
문자의 위치를 찾는 간단한 솔루션은 31로 논리 AND 연산을 찾는 것입니다.
우리 솔루션의 작동을 설명하는 프로그램,
예
#include <iostream> using namespace std; void findLetterPosition(string str, int n) { for (int i = 0; i < n; i++) { cout<<(str[i] & 31) << " "; } } int main() { string str = "TutorialsPoint"; int n = str.length(); cout<<"The letters position in string "<<str<<" is \n"; findLetterPosition(str, n); return 0; }
출력
The letters position in string TutorialsPoint is 20 21 20 15 18 9 1 12 19 16 15 9 14 20