분류 전체보기
-
프로그래머스 문제 풀이 탑24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 26. 12:30
문제 URL 탑 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도 입력을 통해서 문제를 파악해보도록 하겠습니다. 첫 번째 입력입니다. heights : [6, 9, 5, 7, 4] 여기서 각 송신탑들은 오른쪽에서 왼쪽으로 자신을 받아줄 송신탑들을 찾습니다. 자신 기준으로 왼쪽 탑들 중 첫 번째로 자신보다 큰 탑이 수신탑입니다. 어떻게 구할 수 있을까요? 먼저 직관적으로 한 번 풀어봅시다. heights의 인덱스를 1부터 시작해서 매기면 다음과 같을겁니다. heights : [6, 9, 5, 7, 4] indexes : [1, 2, 3, 4, 5] 5번째 탑(높이 = 4)에서 봤을 때 왼쪽 탑 중, 4번째 탑(높이 = 7)이 자신을 받아 줄 수 있습니다. heights..
-
프로그래머스 문제 풀이 여행 경로24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 25. 10:27
이 문제는 이시윤 강사님의 프로그래머스 강좌 "파이썬을 무기로, 코딩테스트 광탈을 면하자!"를 보고 정리한 내용입니다. 문제 URL 여행 경로 Contents 문제 지문 파악하기 강사님의 알고리즘 풀이 구르미의 알고리즘 풀이 문제 지문 파악하기 이 문제에서, 우리는 주어진 티켓들을 활용하여 모든 지점을 순회하여야 합니다. 이 때, 알파벳 순서가 앞서는 경로로 만들어주어야 하지요. 언제나 그렇듯이 예제를 통해 문제를 파악해보겠습니다. 2번째 입력을 살펴보죠. tickets : 1. "ICN" -> "SFO" 2. "ICN" -> "ATL" 3. "SFO" -> "ATL" 4. "ATL" -> "ICN" 5. "ATL" -> "SFO" 위와 같이 총 5개의 티켓이 있습니다. 문제에서 "ICN"부터 시작하고 ..
-
프로그래머스 문제 풀이 N으로 표현24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 24. 15:36
이 문제는 이시윤 강사님의 프로그래머스 강좌 "파이썬을 무기로, 코딩테스트 광탈을 면하자!"를 보고 정리한 내용입니다. 문제 URL N으로 표현 Contents 문제 지문 파악하기 강사님의 알고리즘 풀이 구르미의 알고리즘 풀이 문제 지문 파악하기 이 문제의 요점은 사칙연산을 통해서 number를 최소로 표현하는 N의 개수를 구하는 문제입니다. 먼저 예제를 들어서 문제를 파악해보도록 하겠습니다. 12 = 5 + 5 + (5/5) + (5/5) (6개) = 55/5 + 5/5 (5개) = (55 + 5)/5 (4개) 12는 다음과 같이 6개의 5, 5개의 5, 4개의 5를 구할 수 있습니다. 즉 12를 표현하는 5로 이루어진 수식을 만들기 위해서 필요한 5의 최소 개수는 4개라는 뜻입니다. 어떻게 풀 수 있..
-
프로그래머스 문제 풀이 더 맵게24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 16. 16:01
이 문제는 이시윤 강사님의 프로그래머스 강좌 "파이썬을 무기로, 코딩테스트 광탈을 면하자!"를 보고 정리한 내용입니다. 문제 URL 더 맵게 Contents 문제 지문 파악하기 강사님의 알고리즘 풀이 구르미의 알고리즘 풀이 문제 지문 파악하기 문제의 입력을 통해서, 문제를 어떻게 풀어야할지 생각해봅시다. 문제 입력 : scoville = [1, 2, 3, 9, 10, 12] K=7 scoville에서 K보다 작은 수는 1, 2, 3이 존재합니다. 따라서 scoville을 섞어주어야 합니다. scoville에서 가장 작은 원소 1과, 두번째로 작은 원소 2를 꺼냅니다. 그 후 다음 수식을 적용시켜서 값을 저장합니다. 수식 : 가장 작은 원소 + (두 번째로 작은 원소 * 2) 즉, 수식을 적용하면 "1 +..
-
프로그래머스 문제 풀이 큰 수 만들기24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 6. 15:05
이 문제는 이시윤 강사님의 프로그래머스 강좌 "파이썬을 무기로, 코딩테스트 광탈을 면하자!"를 보고 정리한 내용입니다. 문제 URL 큰 수 만들기 Contents 문제 지문 파악하기 강사님의 알고리즘 풀이 구르미의 알고리즘 풀이 문제 지문 파악하기 문제에 따르면, 입력 numbers에 대해서 해당 문자열이 가장 큰 수를 만들게끔 k개를 빼야 합니다. 예제 입력을 살펴보죠. numbers = "4177252841" k = 4 어떻게 가장 큰 수를 만들 수 있을까요? 먼저, 일단 숫자가 나오면 저장합니다. 그리고 그 보다 큰 숫자가 나오면 저장했던 수를 빼보면 어떨까요? 자 시작해봅시다. 처음 숫자인 4를 넣습니다. collected = ["4"] ( k = 4 ) 그 후 1을 넣습니다. 1은 4보다 작기 ..
-
프로그래머스 문제 풀이 가장 큰 수24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 6. 14:58
이 문제는 이시윤 강사님의 프로그래머스 강좌 "파이썬을 무기로, 코딩테스트 광탈을 면하자!"를 보고 정리한 내용입니다. 문제 URL 가장 큰 수 Contents 문제 지문 파악하기 강사님의 알고리즘 풀이 구르미의 알고리즘 풀이 문제 지문 파악하기 이 문제는 주어진 입력 numbers를 가지고 가장 큰 수를 만드는 것입니다. 먼저 첫 번째 입력을 볼까요? numbers = [6, 10, 2] 여기서 우리가 원하는 기준 "큰 수를 만드는 순"으로 정렬을 해주어야 합니다. 이를테면 6, 10 을 비교합시다. 6 > 10 ( "6" + "10" = "610" > "10" + "6" = "106") 우리 정렬 기준에서는 6이 10보다 우선순위가 높습니다. 왜냐하면, 두 숫자를 가지고 만든 숫자 610, 106 중..
-
프로그래머스 문제 풀이 체육복24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 5. 17:47
이 문제는 이시윤 강사님의 프로그래머스 강좌 "파이썬을 무기로, 코딩테스트 광탈을 면하자!"를 보고 정리한 내용입니다. 문제 URL 체육복 Contents 문제 지문 파악하기 강사님의 알고리즘 풀이 구르미의 알고리즘 풀이 문제 지문 파악하기 이 문제는 얼마나 많은 학생들이 체육복을 입을 수 있느냐를 물어보는 문제입니다. 제일 중요한 것은 이것입니다. reserve에 있는 학생들, 그러니까 여벌이 존재하는 학생들은 자신의 앞,뒷 번호 학생에게 체육복을 전달할 수 있다. reserve, lost에 둘 다 들어있는 학생들은 체육복을 빌려주지 않는다. (어찌보면 당연한 것) "탐욕법"은 말 그대로 그 상황에서 제일 최적의 해를 선택하는 알고리즘 패러다임입니다. 먼저 일련의 예를 들어봅시다. 입력 : n = 5 ..
-
프로그래머스 문제 풀이 베스트 앨범24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 5. 15:42
문제 URL 베스트 앨범 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번 문제는 주어진 입력 음악의 genres, 음악의 플레이 횟수 plays를 이용하여 다음을 조건을 만족하는 리스트를 만드는 것입니다. 총 플레이 횟수가 많은 genre 별로 내림차순으로 정렬되어야 한다. 장르 내에서도 play 횟수 내림차순, 고유 번호 오름차순으로 정렬되어야 한다. 한 장르 당 최대 2개까지만 뽑아서, 플레이 목록을 만들 수 있다. 플레이 목록은 고유 번호로 하는 리스트이다. 이것들을 만족하는 리스트를 어떻게 만들 수 있을까요? 먼저 고유 번호는 각 배열의 인덱스를 뜻합니다. 입력에 대해서 표로 표현하면 다음과 같습니다. 인덱스 0 1 2 3 4 장르 classic pop clas..