목록알고리즘/프로그래머스 (35)
DecordRay
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 어떻게 풀어야 할지 곰곰히 생각해보다가 그래프 x , 그리디 x , DP 인가?? 라고 생각해서 점화식을 구해봄 2. n이 1부터 6까지 일때 각 방법의 개수를 구해보니 i > 2일때, dp[n] = dp[n-2] + dp[n-1]이라는 점화식을 구할 수 있었음 코드 : def solution(n): dp = [0] * 2001 dp[1] = 1 dp[2] = 2 dp[3]..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. N의 제한사항이 2의 20승 이하인 자연수였기 때문에 일반적인 배열을 사용할 경우 시간초과가 날 것 같다고 생각 2. deque를 사용하여 참가자를 2명씩 비교하는 함수(win)를 만들기로 함 3. 4가지의 조건문을 만들어서 해결 첫번째 조건문 : 만약 두 참가자 모두 chk_list에 있는 참가자라면 정답이므로 chk = True를 통해 반복문 탈출 두번째 조건문 : 비교..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 처음에 문제를 봤을때 그리디문제라고 생각 2. 입출력 예시로 주어진 5000이 그냥 주어지지 않았다고 생각해서 이리저리 생각을 해봄 0 -> 5000으로 가는 것과 5000 -> 0으로 가는 것 2가지 방법을 한번 생각해보았더니 뒤에서부터 구하면 더 쉽다고 판단 3. 주어진 n에서부터 0까지 가는 방법을 코드로 작성 2의 배수일 경우 n을 2로 나눠줌 2의 배수가 아닐 경우..