본문 바로가기
IT/CodingTest

[programmers] 'OX퀴즈' 문제를 가장 간단하게 푸는 방법

by Echinacea 2025. 3. 27.
반응형

 

 

 

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120907

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

✅ 문제 개요

수학 수식들이 "X [연산자] Y = Z" 형태의 문자열로 주어진다.
이 수식이 맞으면 "O", 틀린 경우 "X"로 표시한 리스트를 만들어야 한다.

예를 들어:

["3 - 4 = -3", "5 + 6 = 11"]["X", "O"]

 

 

🔍 예시

수식 결과

"3 - 4 = -3" X
"5 + 6 = 11" O
"5 - 15 = 63" X

 

 

🧠 해결 방법

 

🔹 1. 수식 분리

문자열을 " "(공백) 기준으로 나누면 아래처럼 조각으로 작성되어요:

"3 - 4 = -3" → ["3", "-", "4", "=", "-3"]

이중 필요한 값들을 가져오어서 비교하면 돼요.


 

🔹 2. 계산 수행

  • 왼쪽 연산: X, 연산자, Y → 실제 계산 결과 만들기
  • 오른쪽 값: Z → 결과 값
  • 계산해서 비교: X 연산 Y == Z면 "O", 아니면 "X"

 

 

 

 

 

💻 최종 코드

def solution(quiz):
    answer = []

    for q in quiz:
        x, op, y, _, z = q.split()
        x = int(x)
        y = int(y)
        z = int(z)

        if op == '+':
            result = x + y
        else:
            result = x - y

        if result == z:
            answer.append("O")
        else:
            answer.append("X")

    return answer

 

 

예제 테스트

 

입력:

quiz = ["3 - 4 = -3", "5 + 6 = 11"]
solution(quiz)

출력:

["X", "O"]

입력:

quiz = ["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"]
solution(quiz)

출력:

["O", "O", "X", "O"]

 

 

📌 핵심 요약

항목 설명

입력 형태 "X [연산자] Y = Z"
처리 방식 문자열을 공백으로 나누고 계산 수행
해결 기능 split(), int(), if 조건문
결과 형식 맞으면 "O", 틀리면 "X"

 

반응형