본문 바로가기
728x90

전체 글87

[프로그래머스] 정렬 - H-Index 문제 풀이 오늘은 프로그래머스에서 정렬 알고리즘 문제 중 H-Index 문제 풀이를 해보겠습니다. 이번 문제가 프로그래머스에서 연습 문제 중 정렬 알고리즘에 대해서 마지막 문제입니다. 이렇게 하나하나 테마가 마무리 되어가는 것을 보며 뿌듯함을 느끼고 있습니다. 그럼 문제 풀이에 앞서 문제 정보 및 내용 파악을 해보겠습니다. 프로그래머스 > 정렬 > H-Index 문제 풀이 ▩ 문제 정보 문제명: H-Index 문제 난이도: Level 2 문제 푼 사람수: 26573명 사용 가능 언어: 12개 (JavaScript) ▩ 문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니.. 2022. 7. 1.
[프로그래머스] 정렬 - 가장 큰 수 문제 풀이 오늘은 정렬 문제 중 "가장 큰 수"라는 문제를 풀어보려고 합니다. 이번 문제에서 활용할 알고리즘은 테마에서도 나와있듯이 정렬로 보입니다. 정렬 중 가장 시간복잡도가 효율적이고 좋은 알고리즘은 퀵 정렬 등 O(N * logN)의 시간복잡도를 갖고 있는 정렬 알고리즘입니다. 이 같은 지식을 인지한 상태로 문제 풀이를 시작해보겠습니다. 프로그래머스 > 정렬 > 가장 큰 수 문제 풀이 ♨ 문제 정보 문제명: 가장 큰 수 문제 난이도: Level 2 문제 푼 사람수: 30588명 사용 가능 언어: 12개 (JavaScript 사용) ♨ 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 621.. 2022. 6. 30.
자료구조 힙(Heap)은? 무엇인가? 오늘은 자료구조 중 힙(Heap)을 알아보겠습니다. Heap이란 무엇인가? 힙은 자료구조 중 최댓값, 최소값을 가장 빨리 찾아내는 자료구조로 최댓값을 가장 빨리 찾아내는 힙은 "최대 힙", 최소값을 가장 빨리 찾아내는 힙은 "최소 힙"으로 두가지 종류의 힙이 있습니다. 과연 힙은 어떤 구조로 이루어져 있으며, 어떻게 최댓값 or 최소값을 빠르게 찾아낼 수 있는지에 대해서 공부해보겠습니다. 마지막으로 힙을 활용한 자료구조인 우선순위 큐(Priority Queue)를 JavaScript를 활용하여 구현할 예정이니 끝까지 함께 공부하시면 감사하겠습니다. Heap의 구조 힙은 완전 이진 트리구조로 이루어져 있습니다. 완전 이진 트리란 아래 그림과 같이 자식이 최대 두개인 트리 구조이며, 최하위 노드를 제외한 모.. 2022. 6. 29.
[프로그래머스] 힙(Heap) - 더 맵게 문제 풀이 오늘은 드디어 처음 풀게되는 알고리즘 종류인 Heap을 활용한 문제인 "더 맵게" 문제 풀이를 해보겠습니다. 힙을 활용한 문제는 힙 알고리즘의 효율성을 활용한 문제로 풀게될 것 같아 기대가 됩니다. 프로그래머스 > 힙(Heap) > 더 맵게 문제 풀이 ♣ 문제 정보 문제명: 더 맵게 문제 난이도: Level 2 문제 푼 사람수: 25662명 사용 가능 언어: 3개(Java 사용) 이 문제가 제가 지금까지 풀어본 사용 가능 언어가 가장 적은 문제인 듯 합니다. ♣ 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을.. 2022. 6. 28.
[프로그래머스] 스택/큐 - 주식가격 문제 풀이 오늘은 프로그래머스에서 스택/큐의 마지막 문제로 주식가격 문제 풀이를 해보겠습니다. 스택/큐의 마지막 문제인만큼 얼마나 어렵고 재미있을지 기대가 됩니다. 그럼 주식가격 문제 풀이 함께 하러 가보겠습니다. 프로그래머스 - 스택/큐 - 주식가격 문제 풀이 ♠ 문제 정보 문제명: 주식가격 문제 난이도: Level 2 문제 푼 사람수: 27787명 사용 가능 언어: 6개 (Java 사용) 이번 문제도 JavaScript를 활용할 수 없는 관계로 제 2의 주 언어인 Java를 활용해서 문제를 풀어보겠습니다. ♠ 문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 문제 진짜 짧습니다... 2022. 6. 27.
[프로그래머스] 스택/큐 - 다리를 지나는 트럭 문제 풀이(효율성 풀이) 지난번에 프로그래머스에서 스택/큐 문제 중 다리를 지나는 트럭의 문제 풀이를 했었습니다. 하지만 그 때 채점 결과에서 효율성이 좋지 않다는 내용을 확인하여 이번에는 알고리즘 개선을 하여 더 효율적인 문제 풀이 방법을 공부해보고자 합니다. 그럼 어떻게 알고리즘 개선을 할 수 있는지 알아보겠습니다. 먼저 오늘 풀어볼 문제는 바로 어제 풀어봤던 다리를 지나는 트럭 문제입니다. 그럼 어제 Queue를 활용했지만 효율성에서의 부족함을 보여줬던 문제 풀이 포스팅은 아래 있으니 안보시고 오신 분께서는 먼저 공부하고 오시는 것을 추천드립니다. 2022.06.25 - [컴공생의 Knowledge/Algorithm] - [프로그래머스] 스택/큐 - 다리를 지나는 트럭 문제 풀이 그리고 지난 프로그래머스 다리를 지나는 트럭.. 2022. 6. 26.
[프로그래머스] 스택/큐 - 다리를 지나는 트럭 문제 풀이 오늘은 프로그래머스에서 스택/큐 문제 중 "다리를 지나는 트럭" 문제를 풀어보겠습니다. 지난번에 이어서 스택/큐 문제 계속 풀어보고 있는데 계속 풀어가다보니 재미있고 비슷한 유형임을 깨달아가고 있습니다. 이번 문제도 재미있게 풀어보겠습니다. 프로그래머스 > 스택/큐 > 다리를 지나는 트럭 문제 풀이 ▣ 문제 정보 문제명: 다리를 지나는 트럭 문제 난이도: Level 2 문제 푼 사람수: 25977명 사용 가능 언어: 11개 (JavaScript 사용) ▣ 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지.. 2022. 6. 25.
[프로그래머스] 스택/큐 - 프린터 문제 풀이 오늘은 스택/큐 문제 중에서 "프린터" 문제를 풀어보겠습니다. 이번 문제는 스택/큐 알고리즘을 활용하는 문제로 보이는데, 과연 어떤 방법으로 문제를 풀게 될지 시작 전에 호기심을 갖고 시작하게 됩니다. 일전에도 공부했던 스택과 큐의 알고리즘이기에 이전 포스팅 참고하시고 문제 풀이 들어가보겠습니다. 2022.03.18 - [컴공생의 Specification/TypeScript] - [JavaScript] Stack과 Queue 만들기 [JavaScript] Stack과 Queue 만들기 오늘은 JavaScript로 Stack과 Queue를 구현해보겠습니다. 그러면 먼저 Stack과 Queue를 알아보겠습니다. [ Stack ] : FILO(First In, Last Out. 선입후출) "간단하게 먼저 들어.. 2022. 6. 24.
[프로그래머스] 해시 - 전화번호 목록 문제 풀이 오늘의 문제는 프로그래머스에서 해시 - 전화번호 목록 입니다. 이 문제는 여타 다른 문제들과 다른 부분이 존재합니다. 제가 풀고 싶은 JavaScript 언어로 문제 풀이가 불가능하다는 점 입니다. 하지만 오늘만큼은 Java 언어로 문제를 풀어볼까 합니다. 그럼 전화번호 목록 문제 풀이를 들어가보겠습니다. 프로그래머스 > 해시 > 전화번호 목록 문제 풀이 ◆ 문제 정보 문제명: 전화번호 목록 문제 난이도: Level 2 문제 푼 사람수: 40472명 사용 가능 언어: 3개 - cpp, java, python3 (Java 사용) 이 문제는 다른 문제와 달리 사용 가능 언어가 3개뿐입니다. 제가 좋아하는 JavaScript가 없습니다. 하지만 다른 가능한 언어인 Java도 있기에 이번에는 Java 언어로 풀.. 2022. 6. 23.
728x90