[문제 설명]
덧셈, 뺄셈 수식들이 '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 |