cpp
-
프로그래머스 문제 풀이 모의고사24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 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-Index24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 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번째 수24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 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 ..
-
프로그래머스 문제 풀이 이중 우선순위 큐24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 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 ..
-
프로그래머스 문제 풀이 디스크 컨트롤러24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 4. 23:37
문제 URL 디스크 컨트롤러 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력: jobs = [[0, 3], [1, 9], [2, 6]] 이 때, 먼저 최초 작업은 request=0, expend=3인 작업을 진행합니다. 그러면 결국 이렇게 됩니다. jobs = [[1, 9], [2, 6]] n = 1 //처리한 작업의 개수 time = 3 //현재 시간 (0 + expend=3) answer = 3 // 작업 요청부터 작업이 마무리까지 걸린 시간 (0 + expend) 이제 어떤 작업을 골라야 할까요? 이럴 경우, 요청 시간이 짧은 걸 먼저 처리할수록, answer에 크기가 작아집니다...
-
프로그래머스 문제 풀이 라면 공장24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 12. 2. 11:22
문제 URL 라면 공장 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력: stock = 4 dates = [4, 10, 15] supplies = [20, 5, 10] k = 30 문제에 따르면, 4일 째에 물량이 처음으로 동이 납니다. 4일 째 stock = 0 (4-4 (dates[0])) 그런데, dates 에는 4가 있습니다. 따라서 4일째, 물량인 20을 받습니다. 4일 째 stock = 20 (0 + 20 (supplies[0])) 이후, 우리는 10일 째, 15일 째 물량을 공급 받을 수 있습니다. 문제에 따르면, "최대한 적게 공급을 받는다"라고 적혀 있으니, 최대한 날짜..
-
프로그래머스 문제 풀이 쇠막대기24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 30. 23:41
문제 URL 쇠막대기 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다. 입력: arrangement = "()(((()())(())()))(())" 보기 쉽게 "()" 즉 막대가 잘린 곳을 나눠보도록 하겠습니다. "() ((( () () )( () ) () ))( () )" 가장 왼쪽의 경우는 접점이 없습니다. "()" 이것은 단순이 잘리는 지점을 의미하기 때문이지요. 또한, 완전히 괄호가 닫힌 경우, 아예 다른 부분이라고 생각해도 무방합니다. 즉 이렇게 생각해도 무방합니다. "((( () () )( () ) () ))" + "( () )" 먼저 두번째 부분부터 살펴봅시다. "( () )" 1..
-
프로그래머스 문제 풀이 주식 가격24년 11월 이전/레거시-프로그래머스-코딩 테스트 고득점 kit 2019. 11. 30. 17:30
문제 URL 주식 가격 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도, 입력을 통해서 문제를 파악해보도록 하겠습니다. 문제의 입력은 이렇습니다, 입력 : prices = [1, 2, 3, 2, 3] 문제에서는 1초, 2초, .. 5초로 표현했지만, 저는 배열 인덱스를 맞추기 위해서 0초, 1초, ... 4초로 표현하도록 하겠습니다. 이제 0초 때, 주식 가격이 얼마나 유지되었는지를 살펴보죠, 0초: 가격 : prices[0] = 1 0초 이후 prices에서 1보다 떨어질 때까지의 주식 목록 : [2, 3, 2, 3] 유지 시간 : 4초 0초때는 그 이후로 현재 주식가격 1보다 떨어지는 주식이 없습니다. 즉 그 이후로 계속 유지 된다는 것이죠. 이제 각 초를 살펴..