거울문장
_두 문장을 입력받으세요 (최대 10글자)
두 문장이 거꾸로 된 문장이 맞는지 확인하는 프로그램을 작성 해 주세요
ex) 예로들어 "ABCD" "DCBA" 를 입력받았다면
ABCD를 거꾸로 하면 DCBA가 맞습니다. 따라서 "거울문장" 이라고 출력 해 주세요
ex) 예로들어 "BKRQA" "ABC"를 입력받았다면
BKRQA를 거꾸로 하면 AQRKB 이기 때문에 "거울문장아님" 이라고 출력 해 주세요
해결안
- arr, brr 두개 문자열 입력받을 배열 생성
- 각 문자열의 길이를 구한다.
- arr을 거꾸로 저장할 배열 하나 생성 = arr2
- arr2와 brr을 비교한다.
- 카운팅으로 비교하여 arr2 = brr이 arr의 len 개수만큼 비교함
- if cnt값이 == len개수 일치하면 거울문장 출력, 아니면 거울문장아님 출력
int main()
{
char arr[11];
cin >> arr;
char arr2[11];
char brr[11];
cin >> brr;
char brr2[11];
int len1 = strlen(arr);
int len2 = strlen(brr);
int t1 = len1 - 1;
int e = 0;
for (int i = t1; i>=0; i--)
{
arr2[e++] = arr[i];
//arr배열을 arr2배열에 거꾸로 입력받는다.
}
int t2 = len2 - 1;
int r = 0;
for (int i = t2; i >= 0; i--)
{
arr2[r++] = arr[i];
}
int cnt1 = 0;
int cnt2 = 0;
for (int i = 0; i < len1; i++)
{
if (arr2[i] == brr[i])
// arr 뒤집은 값(첫번째 입력 뒤집은 값) 과 brr(두번째 입력 값) 비교
{
cnt1++;
}
else
{
cnt2++;
}
}
if (cnt1 == len1) // cnt가 len1만큼 증가하면 모든 배열값이 일치한다는 것이니 거울문장
{
cout << "거울문장";
}
else
{
cout << "거울문장아님";
}
return 0;
}
Author And Source
이 문제에 관하여(거울문장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@whgks6023/거울문장저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)