티스토리 뷰
문제 설명
덧셈, 뺄셈 수식들이 '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) |
'Test > Python(20220101~)' 카테고리의 다른 글
프로그래머스.L0.자릿수더하기 (0) | 2022.10.11 |
---|---|
프로그래머스.L0.문자열안에문자열 (0) | 2022.10.11 |
프로그래머스.L0.제곱수판별하기 (0) | 2022.10.10 |
프로그래머스.L0.세균증식 (0) | 2022.10.10 |
프로그래머스.L0.문자열정렬 (0) | 2022.10.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 정렬
- Join
- virt-sysprep
- 중복제거
- powercli
- set()
- storage
- sysprep
- vmware.powercli
- oracle
- 읽어오기
- cloud-init
- insert
- 3par
- powershell
- LIST
- 차집합
- EXA
- vmware
- exadata
- 배열
- dezoomify
- 스토리지
- dp-1
- 변수화
- 대소문자
- fromkeys
- dp-2
- artandculture
- 부동없이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함