레거시
-
프로그래머스 문제 풀이 조이스틱 (수정 중)레거시/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 15. 15:24
문제 URL 조이스틱 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 구르미의 알고리즘 풀이 다음을 코드로 나타내면 다음과 같습니다. 먼저 PYTHON 코드입니다. PYTHON 코드 def solution(name): LUT = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,12,11,10,9,8,7,6,5,4,3,2,1] answer = 0 for c in name: answer += LUT[ord(c) - ord('A')] n = len(name) left_or_right = n-1 for i in range(n): _next = i + 1 while _next < n and name[_next] == 'A': _next += 1 left_or_right =..
-
프로그래머스 문제 풀이 카펫레거시/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 12. 16:07
문제 URL 카펫 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도 문제의 입력을 통해서, 문제를 파악해보도록 하겠습니다. 다음은, 첫 번째 입력입니다. 입력: brown = 10 red = 2 이 때, 만들 수 있는 직사각형은 문제의 그림처럼 빨간색 타일이 2x1 형태로 잡혀 있는 형태입니다. B B B B B R R B B B B B 따라서, [4, 3] 형태를 반환해야 합니다. 이번엔 두 번째 입력을 살펴봅시다. 입력: brown = 8 red = 1 이번엔 다음과 같이 빨간색 타일이 1x1 형태로 잡혀있을 때, 가장 큰 가로, 세로인 3x3인 사각형이 됩니다. B B B B R B B B B 이번엔 세 번째 예제입니다. 입력: brown = 24 red = 2..
-
프로그래머스 문제 풀이 숫자 야구레거시/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 11. 17:53
문제 URL 숫자 야구 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도 문제의 입력을 통해서, 문제를 파악해보도록 하겠습니다. 다음은, 첫 번째 입력입니다. 입력: baseball = [ [123, 1, 1], [356, 1, 0], [327, 2, 0], [489, 0, 1] ] 여기서, 정답이 될 수 있는 경우의 수를 구합니다. 어떻게 구할 수 있을까요? 실제로 알아보기 위해서는 야구 게임을 해보는 수밖에 없습니다. 먼저, 야구게임에서 만들 수 있는 수들은 123 ~ 987까지 각 자릿수가 겹치치 않는 수들입니다. candidate = [123, 124, 125, ... , 987] //각 자릿수는 겹치지 않습니다. 이제 1Round를 시작해보죠. request..
-
프로그래머스 문제 풀이 소수 찾기레거시/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 10. 16:48
문제 URL 소수 찾기 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도 문제의 입력을 통해서, 문제를 파악해보도록 하겠습니다. 다음은, 첫 번째 입력입니다. 입력: numbers = "17" numbers를 통해서 만들 수 있는 문자열의 모든 경우의 수는 다음과 같습니다. permutations = [ "1", "7", "17", "71" ] 각각 numbers에서 1개를 선택했을 때, 만들 수 있는 경우의 수와 2개를 선택했을 때 만들 수 있는 경우의 수를 합쳐진 것을 알 수 있습니다. numbers에서 1개를 선택했을 때 만들 수 있는 경우의 수: ["1", "7"] numbers에서 2개를 선택했을 때 만들 수 있는 경우의 수: ["17", "71"] 이 경우..
-
프로그래머스 문제 풀이 모의고사레거시/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 9. 17:34
문제 URL 모의고사 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 먼저, 문제를 파악해봅시다. 3명의 수포자는 다음 패턴으로 문제를 찍습니다. // 각 패턴은 다음 배열의 반복입니다. 1번 학생 = [1, 2, 3, 4, 5] 2번 학생 = [2, 1, 2, 3, 2, 4, 2, 5] 3번 학생 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] 첫 번째 입력을 살펴봅시다. 입력: answers = [1, 2, 3, 4, 5] 이 경우, 1번 학생은 5문제 다 맞히게 됩니다. answers = [1, 2, 3, 4, 5] 1번 학생 = [1, 2, 3, 4, 5] score = 5 //각 인덱스의 원소가 모두 같다. 2번 학생은 0개를 맞춥니다. answers =..
-
프로그래머스 문제 풀이 H-Index레거시/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 7. 15:44
문제 URL H-Index Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입렵: citations = [3, 0, 6, 1, 5] H-Index는 N편 중 h번 이상, h번 이하 인용된 수를 뜻합니다. 무슨 말인지 살펴보죠. 해당 입력에서 논문는 총 5편이 있죠? 즉, n은 5입니다. n = 5 이제 n = 0 부터 H-Index를 찾아봅시다. 다음은 각 n에 대해서, H-Index를 만족하는지 여부입니다. n = 0 n >= 0 논문 : 5 n = 1 논문 : 4 n = 2 논문 : 4 n = 3 논문 : 3 n = 4 논문 : 2 n = h_index // 멈춤 즉, i=2에서 h_in..
-
프로그래머스 문제 풀이 K번째 수레거시/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 6. 14:02
문제 URL K번째 수 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력 : array = [1, 5, 2, 6, 3, 7, 4] commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]] 이제 commands에서 하나씩 꺼내서, 시작점, 끝점, 반환할 인덱스를 가져오겠습니다. command = [2, 5, 3] //commands[0] start = 2 end = 5 idx = 3 문제에 따르면, 인덱스가 0부터가 아닌 1로 되어 있습니다. 이를 조정해주어야 합니다. command = [2, 5, 3] start = 1 //인덱스 조정 end = 5 idx = 2 ..
-
프로그래머스 문제 풀이 이중 우선순위 큐레거시/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 5. 16:57
문제 URL 이중 우선순위 큐 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력: operations = ["I 16","D 1"] 이제 차례 차례 operations를 보고 이중 우선순위 큐에 데이터를 넣어봅시다. 먼저 첫번 째입니다. 해당 문자열을 " " 기준으로 자릅니다. elem = "I 16" op = "I" num = 16 이제 우선순위 큐에 16을 저장합니다. pq = [ 16 ] 이제 다음 데이터를 봅시다. 데이터는 이렇게 될 겁니다. elem = "D 1" op = "D" num = 1 pq = [ 16 ] 이제 D에 1이 나왔으니 우선순위 큐 최댓값을 제거합니다. pq ..