티스토리 뷰

문제 설명

덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.


제한사항
  • 연산 기호와 숫자 사이는 항상 하나의 공백이 존재합니다. 단 음수를 표시하는 마이너스 기호와 숫자 사이에는 공백이 존재하지 않습니다.
  • 1 ≤ quiz의 길이 ≤ 10
  • X, Y, Z는 각각 0부터 9까지 숫자로 이루어진 정수를 의미하며, 각 숫자의 맨 앞에 마이너스 기호가 하나 있을 수 있고 이는 음수를 의미합니다.
  • X, Y, Z는 0을 제외하고는 0으로 시작하지 않습니다.
  • -10,000 ≤ X, Y ≤ 10,000
  • -20,000 ≤ Z ≤ 20,000
  • [연산자]는 + 와 - 중 하나입니다.

 

입출력 예
quiz  :  result
["3 - 4 = -3", "5 + 6 = 11"] ["X", "O"]
["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"] ["O", "O", "X", "O"]

 

* 첫 번째 생각

def solution(quiz):
    answer = []
    for i in range(len(quiz)):
        Expression, Result = quiz[i].split('=')
        First_number, Cal_character, Second_number = Expression.split()
        Ans_list = Result.split()
        Ans_int = int(Ans_list[0])
        
        if Cal_character == '+':
            if int(First_number)+int(Second_number) == Ans_int:
                answer.append("O")
            else:
                answer.append("X")
        elif Cal_character == '-':
            if int(First_number)-int(Second_number) == Ans_int:
                answer.append("O")
            else:
                answer.append("X")
                
    return answer

함수도 , 모듈도 모른다.

'=' 을 기준으로, 앞의 수식(Expression)과 뒤의 답(Result)으로 무조건 나눈다 split() ..

수식은 다시 앞의 수, 연산자, 뒤의 수로 나눈다 ..

Result.split()은 공백이 포함된 수의 split이고, 리스트 형식으로 저장된다. {'-1'}

Ans_int는 list의 첫번째 요소를 정수화해서 저장한다.

 

연산은 덧셈과 뺄셈뿐이므로, 연산자가 둘 중 하나일 경우 앞의 수와 뒤의 수 연산이 Ans_int와 일치할 경우 "O"를 append.

 

 

테스트 1
입력값 ["3 - 4 = -3", "5 + 6 = 11"]
기댓값 ["X", "O"]
실행 결과 테스트를 통과하였습니다.
테스트 2
입력값 ["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"]
기댓값 ["O", "O", "X", "O"]
실행 결과 테스트를 통과하였습니다.

 

실행 결과
채점을 시작합니다.
정확성 테스트
테스트 1 통과 (0.04ms, 10.4MB)
테스트 2 통과 (0.04ms, 10.5MB)
테스트 3 통과 (0.04ms, 10.4MB)
테스트 4 통과 (0.03ms, 10.5MB)
테스트 5 통과 (0.03ms, 10.5MB)
테스트 6 통과 (0.03ms, 10.3MB)
테스트 7 통과 (0.03ms, 10.4MB)
테스트 8 통과 (0.04ms, 10.4MB)
테스트 9 통과 (0.04ms, 10.4MB)
테스트 10 통과 (0.03ms, 10.4MB)
테스트 11 통과 (0.04ms, 10.5MB)
테스트 12 통과 (0.05ms, 10.4MB)
테스트 13 통과 (0.03ms, 10.3MB)
테스트 14 통과 (0.03ms, 10.5MB)
테스트 15 통과 (0.03ms, 10.3MB)
테스트 16 통과 (0.05ms, 10.4MB)
테스트 17 통과 (0.02ms, 10.4MB)
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함