일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- py
- BFS
- 컨트리뷰톤
- 대학원
- 프로그래머스
- git
- 자바
- SQL
- LEVEL2
- D3
- level1
- java
- level4
- MSBuild
- build
- Github
- level3
- androidstudio
- 컴퓨터비전
- SWEA
- 파이썬
- Python
- 내휴학생활중의아주큰일
- 어렵다
- Matrix Factorization
- 휴학
- WebOS
- 다시풀기
- 안드로이드스튜디오
- 대학원일기
Archives
- Today
- Total
bit가 눈 앞에서 왔다갔다
Py) 프로그래머스 64061 크레인 인형뽑기 게임 본문
https://programmers.co.kr/learn/courses/30/lessons/64061
1차 - 9:15 ~ 10:24
1. 입출력
2.
2-1. 내 접근
1) moves의 원소 하나하나를 인덱스로 취급하고 2차원 리슽트 board에서 각 1차원 리스트마다 인덱스에 인형이 있는지 확인한다.
2) 0이라면, 다음 리스트를 확인한다.
3) 인형이 있었다면, basket에 넣어주고 basket의 원소 크기가 1보다 크다면 상위 2개의 인형을 확인한다.
2-2. 내 코드 1 -> 틀림
from collections import deque
def solution(board, moves):
answer = 0
basket = deque([])
for loc in moves:
for row in board:
if row[loc-1] == 0:
continue
else:
doll = row[loc-1] # 0으로 만들기
row[loc-1] = 0
if len(basket) > 1:
cmp = basket.pop() # pop인데 popleft라고 해버리기...
if cmp == doll:
answer += 2
else:
basket.append(cmp)
basket.append(doll)
else:
basket.append(doll)
break
return answer
2-3. 내 코드 2 -> 맞춤
def solution(board, moves):
answer = 0
basket = []
cnt = 0
for loc in moves:
for row in board:
if row[loc-1] == 0:
continue
else:
basket.append(row[loc-1]) # 넣어주고 0으로 만들기
row[loc-1] = 0
if len(basket) > 1:
if basket[-1] == basket[-2]:
answer += 2
basket.pop()
basket.pop()
break # loc을 바꿀 차례
return answer
이전 코드에서 크게 고친 부분은 없다.
deque 자료형을 이용한걸 그냥 리스트로 바꿔주고, pop 하지 않고 비교할 수 있게 basket[-1] basket[-2]로 바꿔줬다.
아래와 같이 바꾸면 row를 셀 필요가 없어서 그것도 바꿔줌
...왜 첫번째꺼가 틀렸지..?
3. 피드백
deque 자료형 사용하면서 stack의 성질(LIFO)이니까 pop을 해줘야하는데 popleft를 써줌
basket에서 -1 -2 인덱스 확인하는 부분을 else문에 넣어줬으면 continue처리 된 후에 거치지 않아도 되는데,
굳이 for문 밖으로 빼줘서 continue된 애들도 basket 맨위, 다음수를 확인하게 됨
왜 쉽나 했더니 level1이었다.
반응형
'Algorithm > Prob' 카테고리의 다른 글
Java) 프로그래머스 42577 전화번호 목록 (0) | 2022.03.29 |
---|---|
Py) 프로그래머스 67258 보석 쇼핑 (0) | 2022.03.25 |
Py) 프로그래머스 62048 멀쩡한 사각형 (0) | 2022.03.18 |
Py) 프로그래머스 17676 [1차] 추석 트래픽 (0) | 2022.03.16 |
Py) 프로그래머스 64063 호텔 방 배정 (0) | 2022.03.11 |
Comments