2019

    [python] 프로그래머스 - 무지의 먹방 라이브(2019 KAKAO BLIND RECRUITMENT)

    [python] 프로그래머스 - 무지의 먹방 라이브(2019 KAKAO BLIND RECRUITMENT)

    🤔문제 해결 Lv4 | 우선순위 큐? 가장 처음 생각난건 역시 1초씩 전부 돌아보자!! 하지만 역시나 시간초과 발생 😂🤣 음식을 한꺼번에 뺄순 없을까 생각해서 가장 적은 음식의 수만큼 사이클을 돌기로 했다. 예를 들어 음식이 [ 5,5,3,3,6 ] 이라면 3만큼 한꺼번에 돌아주는 것이다. 음식이 3만큼 있고, 전체 길이가 5 이므로, 15초 뒤에는 [ 2,2,0,0,3 ] 이 된다고 상상만!!! 직접 빼주고 하면 시간 초과 다음은 2만큼 있고, 전체 길이가 3 이므로 (0은 취급 안함), 6 초 뒤에는 [ 0,0,0,0,1 ] 역시 상상만 하자 위의 방법 처럼 한꺼번에 빼주는데 가장 적은 음식은 어떻게 꺼내냐하면 바로 힙큐를 쓰자. 힙큐에 음식의 양과 해당 음식의 번호를 차례로 넣으면 가장 작은 음식을..

    [python] 프로그래머스 - 블록 게임(2019 KAKAO BLIND RECRUITMENT)

    [python] 프로그래머스 - 블록 게임(2019 KAKAO BLIND RECRUITMENT)

    🤔문제 해결 Lv 4 | 시뮬레이션? 먼저 지울 수 없는 블록과 지울 수 있는 블록으로 나눴다. 동그라미 친 블록은 지울 수 있는 블록 board 의 맨위 왼쪽부터 차례로 탐색한다. 블록을 만나면 위에 동그라미 친 블럭인지 확인하고, 맞다면 지울 수 있는지 확인한다. 지울 수 있다면 지워주고, 지울 수 없다면( 지울 수 있는 블록이긴 한데 위에가 막혀서 아직 못지움) 임시 리스트에 저장. 다음 블록들을 지우는 것을 성공할 때마다 임시저장한 블록들도 지울 수 있는지 같이 체크해서 지워준다. 💨 문제는 크게 어렵지 않지만, 어떻게든 풀 수 있을 것이다. 시간이 오래걸리겠지만... 💻소스 코드 blocks = { 1: [[ (1, 0), (1, 1), (1, 2) ], [(0, 1), (0, 2)]] , 2:..