[프로그래머스 / 입문] OX퀴즈(파이썬)

2022. 10. 10. 15:47·🎲 알고리즘 공부/프로그래머스

[문제 설명]

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

 

입출력 예시

 

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


🎨 풀이

💡 전체 코드

def solution(quiz):
    answer = []
    for i in range(len(quiz)):
        tmp = quiz[i].split(" ")
        if tmp[1] == '+':
            if int(tmp[0]) + int(tmp[2]) == int(tmp[4]):
                answer.append("O")
                continue
            answer.append("X")
        else :
            if int(tmp[0]) - int(tmp[2]) == int(tmp[4]):
                answer.append("O")
                continue
            answer.append("X")                
    return answer

> 핵심 : 쪼갠 후 비교하고 맞게 넣어주기

 

 

 

🍦 코드 설명 (실행 순서대로 나열)

#solution

    for i in range(len(quiz)):
        tmp = quiz[i].split(" ")

1. quiz 안에 있는 수식만큼 for문을 실행한다. 

2. quiz[i]를 공백 기준으로 구분해둔 걸 tmp에 넣어준다.

 - (ex) quiz[i] = 3 + 5 = 2     =>   tmp = ['3', '+', '5', '=', '2']

 

 

        if tmp[1] == '+':
            if int(tmp[0]) + int(tmp[2]) == int(tmp[4]):
                answer.append("O")
                continue
            answer.append("X")
        else :
            if int(tmp[0]) - int(tmp[2]) == int(tmp[4]):
                answer.append("O")
                continue
            answer.append("X")
    return answer

3. 만약 tmp[1]이 + 라면 4번을 실행한다.

4. tmp[0]과 tmp[2]를 더했을 때 tmp[4]와 같다면 answer에 O를, 다르다면 answer에 X를 넣어준다.

  - continue를 써준 이유 : answer에 O와 X가 둘다 들어가는 것을 막기 위함.  

 

5. 만약 tmp[1]이 - 라면 6번을 실행한다.

6. tmp[0]과 tmp[2]를 뺐을 때 tmp[4]와 같다면 answer에 O를, 다르다면 answer에 X를 넣어준다.

 

7. answer을 return 한다.

 

 


끝~

⭐ 느낀점

> 딱 코딩테스트는 200일만 채우고 끝내야겠다. 앞으로 할 게 너무 많아질듯해서..,, 그동안 고생많았다~~!

저작자표시 (새창열림)

'🎲 알고리즘 공부 > 프로그래머스' 카테고리의 다른 글

[프로그래머스 / 입문] 외계행성의 나이 (파이썬)  (0) 2022.10.07
[프로그래머스 / 입문] A로 B 만들기 (파이썬)  (0) 2022.10.06
[프로그래머스 / 입문] 배열의 유사도 (파이썬)  (0) 2022.10.04
[프로그래머스 / 입문] 로그인 성공? (파이썬)  (0) 2022.10.02
[프로그래머스 / 입문] 세균 증식 (파이썬)  (0) 2022.10.01
'🎲 알고리즘 공부/프로그래머스' 카테고리의 다른 글
  • [프로그래머스 / 입문] 외계행성의 나이 (파이썬)
  • [프로그래머스 / 입문] A로 B 만들기 (파이썬)
  • [프로그래머스 / 입문] 배열의 유사도 (파이썬)
  • [프로그래머스 / 입문] 로그인 성공? (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (280)
      • 📑 신입일기 (35)
      • 🍪 Web (1)
        • angular (1)
        • JavaScript (0)
      • 🧩 Node.js 공부 (2)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 🎨 Tistory Customizing (1)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 📗 spring boot 공부 (9)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    정보처리기사
    정처기
    코민이
    오블완
    코린이
    6월 목표
    피보나치수
    연습문제
    BOJ
    백준
    50문답
    코드업
    일기
    컨텐더스
    스프링부트
    오버워치
    티스토리챌린지
    신입일기
    카카오
    스프링 부트
    nodejs
    파이썬
    til
    충무로
    행렬덧셈
    찬양추천
    코테
    폰켓몬
    프로그래머스
    codeup
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
듬듬
[프로그래머스 / 입문] OX퀴즈(파이썬)
상단으로

티스토리툴바