본문 바로가기

Algorithm/String

(Python3) - 프로그래머스(코딩테스트 입문) : OX퀴즈

반응형

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

 

프로그래머스

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

programmers.co.kr

split과 문자열을 다뤄본 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

정답 변수 answer 선언 후 빈 배열로 초기화합니다.

📔 풀이과정

quiz에 대해 loop를 수행하며 다음을 진행합니다.1. 수식을 공백으로 구분해 split한 list를 변수 splited를 선언해 저장합니다.

 

2. left_hand_side는 splited의 0번째, 연산자 operator는 1번째, right_hand_side는 2번째, 수식의 실제 값 actual은 마지막 번째에 위치하므로 정수로 바꿔 각각 저장합니다.

 

3. operator에 따라 expected값을 계산해 저장합니다. +라면 각 값의 합을, -라면 차를 저장합니다.

 

4. answer에 expected가 actual이라면 O를, 아니라면 X를 추가합니다.

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

def solution(quiz):
    answer = []
    for q in quiz:
        splited = q.split(' ')
        left_hand_side = int(splited[0])
        operator = splited[1]
        right_hand_side = int(splited[2])
        actual = int(splited[-1])
        expected = 0
        
        if operator == '+':
            expected = left_hand_side + right_hand_side
        else:
            expected = left_hand_side - right_hand_side
        if expected == actual:
            answer.append('O')
        else:
            answer.append('X')
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.