XHAENEUNG 문제 질문드립니다. lerin 이틀째 XHAENEUNG을 계속 풀고 있는데 오답이 뜨는 원인을 모르겠습니다 ㅠㅠ. 주어진 예제가 아닌 다른 예제도 넣어봤지만 딱히 오답을 찾을수가 없어서 글을 써봅니다. 논리 문자열로 입력된 수를 정렬한 후 0에서 10까지의 정렬된 문자열과 같은지 확인하여 숫자로 변환. 변환된 수를 가지고 계산식이 맞는지 검사 #include <iostream> #include <string.h> int convertorForAnswer(int value, char answer[]) { char temp; for (int i = 1; i < value; i++) { int j = i; temp = answer[j]; while (--j >= 0 && temp < answer[j]) { answer[j + 1] = answer[j]; } answer[j + 1] = temp; } if (!strcmp(answer, "eorz")) return 0; else if (!strcmp(answer, "eno")) return 1; else if (!strcmp(answer, "otw")) return 2; else if (!strcmp(answer, "eehrt")) return 3; else if (!strcmp(answer, "foru")) return 4; else if (!strcmp(answer, "efiv")) return 5; else if (!strcmp(answer, "isx")) return 6; else if (!strcmp(answer, "eenvs")) return 7; else if (!strcmp(answer, "eghit")) return 8; else if (!strcmp(answer, "einn")) return 9; else if (!strcmp(answer, "ent")) return 10; return -1; } int main() { int value = 0; std::cin >> value; while (value) { char firstNumber[6] = {}; std::cin >> firstNumber; char operation = ' '; std::cin >> operation; char secondNumber[6] = {}; std::cin >> secondNumber; char operation1 = ' '; std::cin >> operation1; char answerNumber[11] = {}; std::cin >> answerNumber; int first = 0; int second = 0; int answer = 0; int firstLength = 0; int secondLength = 0; int answerLength = 0; firstLength = strlen(firstNumber); secondLength = strlen(secondNumber); answerLength = strlen(answerNumber); first = convertorForAnswer(firstLength, firstNumber); second = convertorForAnswer(secondLength, secondNumber); answer = convertorForAnswer(answerLength, answerNumber); switch (operation) { case '+': { first += second; } break; case '-': { first -= second; } break; case '*': { first *= second; } break; } if (first > 10 || first < 0 || first != answer) { std::cout << "No\n"; } else { std::cout << "Yes\n"; } --value; } return 0; } 9년 전
1개의 댓글이 있습니다. Being convertorForAnswer() 함수에 오류가 있습니다. 코드에 어떤 상수(문자열)을 넣을 때는 항상 주의하시고, 같은 실수를 반복하지 않으시려면 어떻게 하면 좋을지도 생각해보시면 공부가 될 것 같습니다. 9년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
lerin
이틀째 XHAENEUNG을 계속 풀고 있는데 오답이 뜨는 원인을 모르겠습니다 ㅠㅠ.
주어진 예제가 아닌 다른 예제도 넣어봤지만 딱히 오답을 찾을수가 없어서 글을 써봅니다.
논리
9년 전