프로그래머스

    [Programmers] 두 큐 합 같게 만들기 - python

    [Programmers] 두 큐 합 같게 만들기 - 파이썬 🎈문제 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💬설명 각 배열을 deque에 넣어서 큐로 만든다. 만약 sum 이 홀수 인 경우 어떻게 해도 반반 나눠질 수 없으니 예외 처리해준다. 주의점: sum같은 경우는 while문 안에서 돌리는 것보다 밖에서 sum을 미리 구한 뒤, 내부에서 + - 정도만 해주는게 효율적이다. 이후에 while문 안에서 합이 큰 큐에서 합이 작은 큐로..

    [Programmers] 성격 유형 검사하기 - Python

    [Programmers] 성격 유형 검사하기 - Python 🎈문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 문자열 문제. 푸는데 10분정도 걸렸다. 👩‍💻코드 def solution(survey, choices): answer = "" tp = {"R": 0, "T": 0, "C": 0, "F": 0, "J": 0, "M": 0, "A": 0, "N": 0} for i in range(len(survey)): if choice..

    [Programmers] 행렬 테두리 회전하기

    [Programmers] 행렬 테두리 회전하기 🎈문제 https://programmers.co.kr/learn/courses/30/lessons/77485 💬설명 회전을 구현할 수 있냐고 물어보는 기본 구현 문제였다. 회전 방향을 dx, dy 배열로 선언해두고 direction + 1 해가면서 각 변의 길이만큼 회전해주면 된다. 처음 회전 문제를 풀어봤으면 헤맸을 수도 👩‍💻코드 # Programmers_행렬테두리회전.py def rotate(arr, query): dx = [0, 1, 0, -1] dy = [1, 0, -1, 0] x, y = query[0] - 1, query[1] - 1 pre_value = arr[x][y] len_x = query[3] - query[1] len_y = query..

    [Programmers] 이중우선순위큐

    [Programmers] 이중우선순위큐 🎈문제 https://programmers.co.kr/learn/courses/30/lessons/42628 💬설명 python heapq를 이용해서 풀었다. 최대힙, 최소힙 모두 써줘야 했기 때문에 두 힙의 동기화가 중요했다. 최대값 pop할 때 최소힙에서도 삭제해주고, 최소값 pop 할때 최대힙에서도 삭제해주면 된다. + 다른 사람 코드도 찾아보니 굳이 두개의 heap을 사용하지 않고 최소힙에서 heapq.nlargest(n, hq) 이렇게 해주면 큰값 순서대로 n개 뽑힌다고 한다. 그럼 heapq.nlargest(1, hq)이렇게 해주면 된다. 👩‍💻코드 import heapq max_hq = [] min_hq = [] def solution(operation..