목록level2 (21)
DecordRay
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. cache_arr이라는 캐시 리스트를 만든 후 그 안에 cacheSize만큼 cities[i]를 넣어준 후 cacheSize의 개수 = len(cache_arr)의 개수 일 경우 LRU를 실행하는 알고리즘을 생각하였음. * Tip - cities[i]가 cache_arr에 있는 경우 기존 cache_arr에 있는 cities[i]를 삭제 후 새로 cache_arr에 citi..
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 1. 배열 오름차순 정렬 2. 논문별 인용 횟수는 0회 이상 10000회 이하이므로 10000번 반목문을 돌려서(첫번째 반복문) H-Index의 최댓값을 탐색 3. 인용된 논문이 i 편 이상일 경우 H-Index값 최신화(두번째 반복문) 코드 : def solution(citations): answer = 0 citations.sort() for i in range(10001):..
문제 : 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의 배수가 아닐 경우..