본문 바로가기

Level 13

[Level 1] [python] 크레인 인형뽑기 게임 문제 파이썬 풀이 from collections import deque def solution(board, moves): length = len(board) dict = {} stack = deque() answer = 0 for i in range(length) : dict[i+1] = deque() for j in range(length) : if board[j][i] == 0 : continue dict[i+1].append(board[j][i]) # 크레인 게임 시작 for number in moves : if dict[number] : # 해당 number줄에 인형이 있다면 new = dict[number].popleft() if stack and stack[-1] == new : answer .. 2022. 1. 20.
[Level 1] [python] 실패율 문제 파이썬 문제 풀이 def solution(N, stages): dic = {} answer = [] user = len(stages) for i in range(1, N+1) : if user != 0 : # 남아있는 유저가 있다면 count = stages.count(i) dic[i] = count/user user -= count else : dic[i] = 0 for key, _ in sorted(dic.items(), key=lambda x:(-x[1], x[0])): answer.append(key) return answer 실패율을 가지고 내림차순으로 스테이지 번호를 출력해야 하기 때문에 각 스테이지 번호에 대한 실패율을 저장해야 했다. 즉 스테이지 번호와 실패율을 쌍으로 기록해야하기 때.. 2022. 1. 3.
[Level 1] [python] K번째수 문제 파이썬 풀이 def solution(array, commands): answer = [] for i, j, k in commands : new_arr = array[i-1 : j] new_arr.sort() answer.append(new_arr[k-1]) return answer 배열을 인덱싱을 이용하면 쉽게 풀 수 있는 문제였다. i번째는 인덱스로 i-1이고 인덱싱에서 end는 포함하지 않기 때문에 (j-1) 번째에 +1을 해줘서 j까지로 잘라낸다. 그리고 파이썬의 sort()함수를 이용해 잘라낸 배열을 정렬해주었다. 그리고 k번째(인덱스 k-1) 값을 answer배열에 추가해주었다. 2021. 12. 29.