반응형
- 문제
https://school.programmers.co.kr/learn/courses/30/lessons/64061
- 풀이
def solution(board, moves):
answer = []
for y in moves:
for x in range(0, len(board)):
a1 = board[x][y - 1]
if a1 != 0:
answer.append(a1)
board[x][y - 1] = 0
break
answer2 = []
for i in answer:
answer2.append(i)
if len(answer2) > 1:
if answer2[-1] == answer2[-2]:
answer2.pop()
answer2.pop()
answer3 = len(answer) - len(answer2)
return answer3
answer 은 moves 대로 숫자 뽑은 숫자 담는 리스트
0이 아닌 숫자를 answer 에 추가하고 한 번 뽑힌 숫자(인형)는 0 으로 바꿨다.
그리고 break 거니까 [4, 3, 1, 1, 3, 2, 4] 잘 나왔다.
answer2 는 중복되는 숫자 뽑아버리는 리스트
answer 을 반복문 돌리면서 요소가 두 개 이상이 됐을 때 끝에 두 개가 같으면 둘 다 지워버리는 걸로 pop() 두 번
[4, 2, 4] 나왔다.
answer3 은 answer 과 answer2 의 길이 차이
그러면 사라진 인형의 수가 나온다.
반응형
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 - Python/JavaScript] Lv.1 숫자 문자열과 영단어 (0) | 2023.02.07 |
---|---|
[프로그래머스 - Python] Lv.1 다트게임 (0) | 2023.02.07 |
[프로그래머스 - Python/JavaScript/Java] Lv.1 예산 (0) | 2023.02.07 |
[프로그래머스 - Python] Lv.1 신고 결과 받기 (0) | 2023.02.07 |
[프로그래머스 - Python] Lv.1 과일 장수 (0) | 2023.02.03 |