본문 바로가기
  • Secret Notes
[프로그래머스] 연속된 부분 수열의 합 | 파이썬 문제설명더보기비내림차순으로 정렬된 수열이 주어질 때, 다음 조건을 만족하는 부분 수열을 찾으려고 합니다.기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 합니다.부분 수열의 합은 k입니다.합이 k인 부분 수열이 여러 개인 경우 길이가 짧은 수열을 찾습니다.길이가 짧은 수열이 여러 개인 경우 앞쪽(시작 인덱스가 작은)에 나오는 수열을 찾습니다.수열을 나타내는 정수 배열 sequence와 부분 수열의 합을 나타내는 정수 k가 매개변수로 주어질 때, 위 조건을 만족하는 부분 수열의 시작 인덱스와 마지막 인덱스를 배열에 담아 return 하는 solution 함수를 완성해주세요. 이때 수열의 인덱스는 0부터 시작합니다. 제한사항더보기5 ≤ sequence의 길이 ≤ 1,0.. 2024. 6. 13.
[프로그래머스] 호텔 대실 | 파이썬 문제설명더보기호텔을 운영 중인 코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 합니다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있습니다.예약 시각이 문자열 형태로 담긴 2차원 배열 book_time 이 매개변수로 주어질 때, 코니에게 필요한 최소 객실의 수를 return 하는 solution 함수를 완성해주세요. 제한사항더보기1 ≤ book_time의 길이 ≤ 1,000book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 이루어진 배열입니다[대실 시작 시각, 대실 종료 시각] 형태입니다.시각은 HH:MM 형태로 24시간 표기법을 따르며, "00:00" 부터 "23:59" 까지로 주어집니다.예약 시각이 자정을 넘어가는 경우는 없습니다.. 2024. 6. 7.
[프로그래머스] 시소 짝꿍 | 파이썬 문제설명더보기어느 공원 놀이터에는 시소가 하나 설치되어 있습니다. 이 시소는 중심으로부터 2(m), 3(m), 4(m) 거리의 지점에 좌석이 하나씩 있습니다.이 시소를 두 명이 마주 보고 탄다고 할 때, 시소가 평형인 상태에서 각각에 의해 시소에 걸리는 토크의 크기가 서로 상쇄되어 완전한 균형을 이룰 수 있다면 그 두 사람을 시소 짝꿍이라고 합니다. 즉, 탑승한 사람의 무게와 시소 축과 좌석 간의 거리의 곱이 양쪽 다 같다면 시소 짝꿍이라고 할 수 있습니다.사람들의 몸무게 목록 weights이 주어질 때, 시소 짝꿍이 몇 쌍 존재하는지 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항더보기2 ≤ weights의 길이 ≤ 100,000100 ≤ weights[i] ≤ 1,000몸무게.. 2024. 6. 5.
[프로그래머스] 큰 수 만들기 | 파이썬 문제설명더보기어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다.문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한사항더보기number는 2자리 이상, 1,000,000자리 이하인 숫자입니다.k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예문제풀이이 문제는 파이썬으로 풀때는 주어진 사항을 따라서 .. 2024. 5. 23.
[프로그래머스] 키패드 누르기 | 파이썬 문제설명더보기 제한사항더보기 입출력 예문제풀이별다른 개념이 들어간 문제는 아니었지만 문제를 해결하는데 필요한 설계가 까다로운 문제였다. 우선 키패드 모양을 좌표와 배열로 구현할 수 있어야 하며 눌러야하는 키패드의 위치를 하나씩 확인하면서 어느 손으로 눌러야 할지를 정한다. 이때 손을 결정하는 기준은 우선적으로는 가까이 있는 손을 선택하며 거리가 같을 경우 hand 변수에 주어진 손이 우선권을 가지고 누르게 된다.처음에는 문제에서 접근하는 방식을 표로 잘 설명해 주었는데 이때 사용된 왼손, 오른손 위치와 눌러야 하는 키의 위치를 기반으로 어떠한 손으로 누르는지를 잘 확인할 필요가 있다. 그리고 키패드를 누르고 나면 해당 손의 위치를 그곳으로 이동시켜주는 것도 빠져서는 안된다.(그래서 조건문 분기를 타면 버.. 2024. 5. 21.
[프로그래머스] 쿼드압축 후 개수 세기 | 파이썬 문제설명더보기0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다.당신이 압축하고자 하는 특정 영역을 S라고 정의합니다만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다.그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다.arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 제한사항더보기arr의 행의 개.. 2024. 5. 21.
반응형