728x90

연습 3

백준 1806번 부분합 풀이/해설/코드 (파이썬)

코드만 궁금한 분은 링크 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 숫자로 이루어진 리스트가 주어지고 임의의 숫자가 주어진다. 그 리스트 안에서 연속된 숫자들의 합으로 임의의 숫자와 같거나 큰 수를 만들 수 있는데 그 연속된 숫자열들 중 가장 길이가 짧은 것의 길이를 반환해야 한다. 문제 풀이 전형적인 투포인터문제이다. 1. 리스트의 왼쪽 끝 부분과 오른쪽 끝 부분을 가리키는 포인터를 만든다. 2. for문이나 while문을 사용해서 왼쪽끝~오른쪽끝까지의 합을 계산한다. 3. 계산된 값이 조건으로 주어진 값보다 크면 길이..

백준 1700번 멀티탭 스케줄링 문제 해설/코드 (파이썬)

코드만 궁금한 분은 링크 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제는 간단하다. N크기의 리스트가 있고 거기에 주어진 순서대로 숫자들을 넣으면 된다. 당연히, 이 때 이미 리스트 안에 있는 숫자는 순번을 pass하면 되고 그렇지 않은 경우는 안쪽의 수를 꺼내고 지금의 숫자를 리스트 안에 넣어야 한다. 문제에서 요구하는 답은, 이 때 리스트 안의 수를 제거하는 횟수의 최솟값이다. 이 때 최소한으로 리스트 안의 값을 제거하려면 다음과 같은 로직이 필요하다. 1. 이후에 다시 등장하지 않는 수를 제거하는게 최선 2. 가장 멀리 떨어..

프로그래머스 8주차 위클리 챌린지 최소직사각형 문제 해설/코드 (파이썬)

코드만 궁금한 분은 링크 사실 문제가 이전의 위클리 챌린지 문제들에 비해 다소 쉬운편이라 오늘 해설도 간략하게 쓰려고 한다. 코드 보면 바로 이해될거라서.. 카드를 여러장 받는데, 이 때 모든 카드를 다 포함하는 수 있는 최소 가로-세로의 크기를 구하는 문제이다. 카드는 회전이 가능하기때문에 여러장의 카드의 최소 가로/세로를 구하려면 각 카드의 짧은 부분끼리 비교하고 긴 부분끼리 비교하면 된다. 그렇게 해서 짧은 부분들의 가장 큰 값, 긴 부분들의 가장 큰 값 각각이 답을 만족하는 가로/세로가 된다.

728x90