일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- RTK Query
- CI/CD
- ESlint
- MSA
- 리터럴 타입
- 투포인터
- 타입 좁히기
- Jest
- recoil
- 호이스팅
- tailwind
- React
- SSR
- autosize
- dfs
- 무한 스크롤
- CORS
- useAppDispatch
- TS
- 공변성
- async/await
- app router
- 인증/인가
- 태그된 유니온
- 인터섹션
- map
- Promise
- 반공변성
- 결정 알고리즘
- webpack
Archives
- Today
- Total
짧은코딩
프로그래머스) 크레인 인형뽑기 게임 본문
반응형
https://programmers.co.kr/learn/courses/30/lessons/64061
코딩테스트 연습 - 크레인 인형뽑기 게임
[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4
programmers.co.kr
내 풀이(board을 어떻게 정렬하는지를 이해 못해서 구글링함, 이 이후 로직은 안보고 맞음)
def solution(board, moves):
answer = 0
rst = []#오른쪽 바구니
game = []
for i in range(len(board)):
game.append([])
for j in range(len(board)):
game[i].append(board[len(board)-1-j][i])
remove_set = {0}
for i in range(len(game)):
game[i] = [i for i in game[i] if i not in remove_set]
for i in moves:
if game[i-1]:
t = game[i-1].pop()
if rst and rst[-1] == t:
rst.pop()
answer += 2
else:
rst.append(t)
return answer
board를 문제에 맞게 정렬을 했다. 그리고 remove_set은 0을 제거하는 것이고 그 밑의 for문은 gmae[i] 마다 0이 있다면 0을 제거해주는 로직이다.(이것도 구글링해서 찾음) 그리고 스택을 이용하여 문제를 풀었다.
반응형
'코딩 테스트(Python) > 백준, 프로그래머스' 카테고리의 다른 글
프로그래머스) 숫자 문자열과 영단어 (0) | 2022.03.29 |
---|---|
프로그래머스) 오픈채팅방 (1) | 2022.03.29 |
프로그래머스) 신규 아이디 추천 (0) | 2022.03.25 |
프로그래머스) 로또의 최고 순위와 최저 순위 (0) | 2022.03.25 |
프로그래머스) 신고 결과 받기 (0) | 2022.03.25 |
Comments