만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

숫자 맞히기

면접 대비

시간 제한1초메모리 제한1024 MB

요약
하나의 +, -, * 연산과 ? 자리표시자가 있는 방정식에서, 주어진 숫자와 겹치지 않는 가장 작은 대입 숫자를 찾아 방정식을 참으로 만들거나 mistake를 출력한다.
난이도

쉬움10점 중 3점

유형
완전 탐색, 구현, 수학, 문자열
정답자
아직 제출이 없습니다

문제

Eva와 Kris는 서로 수수께끼와 퍼즐을 내며 노는 것을 좋아한다. 어느 날 아침 Eva는 남동생에게 방정식에서 빠진 숫자를 맞힐 수 있겠느냐고 물었다. "방정식에 따라 다르지."라고 Kris가 대답했다. 그러자 Eva는 자기가 생각한 것을 정확히 설명했다. "내가 만든 방정식에는 산술 연산 기호가 정확히 하나 나오는데, 그건 덧셈(+), 뺄셈(-), 곱셈(*) 중 하나일 수 있어. 방정식에 나오는 모든 수는 0부터 9까지의 숫자, 경우에 따라 맨 앞의 마이너스 부호(-), 그리고 여기저기 물음표(?)로 이루어져 있어. 식에 나오는 수는 절대 앞에 0이 붙은 채로 시작하지 않아. 한 식에 있는 모든 물음표(?)는 서로 같은 숫자 [0, 9]를 나타내는데, 그 숫자는 식에 분명히 적힌 다른 어떤 숫자와도 겹치지 않아." Kris를 도와서 물음표 뒤에 숨은 숫자를 맞혀, 그 숫자로 바꿔 넣었을 때 방정식이 성립하도록 하는 프로그램 guess를 작성하시오. 조건을 만족하는 숫자가 여러 개면 프로그램은 그중 가장 작은 숫자를 출력한다. Eva가 뭔가를 잘못 생각해서 어떤 숫자도 방정식을 만족하지 못하면 mistake라는 단어를 출력한다.

입력

표준 입력의 유일한 줄에서 방정식이 다음 형식으로 주어진다.

[수][연산][수]=[수]

각 [수]는 0부터 9까지의 숫자로만 이루어지며, 맨 앞에 마이너스(-)가 하나 있을 수 있고 물음표(?)가 하나 이상 있을 수 있다. 어떤 수도 그 자체가 0이 아닌 한 맨 앞에 0이나 -0이 올 수 없다. [연산]은 첫 번째와 두 번째 [수]를 구분하며 +, -, * 중 하나다. = 기호는 항상 두 번째와 세 번째 [수]를 구분한다. 방정식에는 공백이나 나열된 것 외의 다른 문자가 들어 있지 않다. 방정식에 물음표(?)가 적어도 하나 들어 있음이 보장된다.

출력

표준 출력의 유일한 줄에 방정식을 만족하는 가장 작은 숫자를 출력해야 한다. 그러한 숫자가 없으면 mistake라는 단어를 출력한다.

제한

  • -106 < [수] < 106

예제5

  1. 예제 1

    입력
    5+?=7
    
    예상 출력
    2
    
  2. 예제 2

    입력
    789*?54=51?00?
    
    예상 출력
    6
    
  3. 예제 3

    입력
    -8?*-1=8?
    
    예상 출력
    0
    
  4. 예제 4

    입력
    51-5?=?
    
    예상 출력
    mistake
    
  5. 예제 5

    입력
    ??*??=435?
    
    예상 출력
    6