a + b =c 형식의 방정식이 하나 있다고 가정해 보겠습니다. 이제 a, b 또는 c의 항 중 하나가 누락되었습니다. 잃어버린 것을 찾아야 합니다.
입력이 다음과 같으면 ? + 4 =9이면 출력은 5가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
문자열에서 모든 공백을 삭제하고 (+ 및 =를 쉼표 ','로 변경)
-
elements :=쉼표로 구분된 문자열을 분할하여 요소 목록
-
아이디:=0
-
범위 0에서 요소 크기까지의 i에 대해
-
요소[i]가 숫자가 아닌 경우
-
idx :=나는
-
루프에서 나오다
-
-
-
마지막 요소가 누락된 경우
-
첫 번째 요소 + 두 번째 요소 반환
-
-
그렇지 않으면 두 번째 요소가 누락된 경우
-
마지막 요소 반환 - 첫 번째 요소
-
-
그렇지 않으면 첫 번째 요소가 누락된 경우
-
마지막 요소 반환 - 두 번째 요소
-
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def find_missing(string): string = string.strip().replace(' ', '') string = string.replace('=',',') string = string.replace('+',',') elements = string.split(',') idx = 0 for i in range(len(elements)): if not elements[i].isnumeric(): idx = i break if idx == 2: return int(elements[0]) + int(elements[1]) elif idx == 1: return int(elements[2]) - int(elements[0]) elif idx == 0: return int(elements[2]) - int(elements[1]) print(find_missing('6 + 8 = ?')) print(find_missing('? + 8 = 20')) print(find_missing('5 + ? = 15'))
입력
'6 + 8 = ?' '? + 8 = 20' '5 + ? = 15'
출력
14 12 10