백준 2910 < 빈도 정렬 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 📍알고리즘 분류 - 자료 구조 - 정렬 - 해시를 사용한 집합과 맵 - 트리를 사용한 집합과 맵 📍문제 풀이 - 수열이 주어지는데, 출현 빈도 순으로 정렬한다 - 빈도가 같을 수록, 먼저 등장했을 수록, 앞에 위치한다. 📍의사 코드 - 빈 객체를 만들고, 숫자를 키로, 출현 빈도를 밸류로 하여 저장한다. - 동시에 첫 등장한 숫자는 unique한 배열에 push하여 순서를 저장한다. - 원본 수열을 정렬하는데, indexOf ..
백준 4358 < 생태학 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/4358 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 📍알고리즘 분류 - 자료 구조 - 문자열 - 해시를 사용한 집합과 맵 - 트리를 사용한 집합과 맵 📍문제 풀이 - 예를 들어 어떤 숲에 있는 나무 종 문자열들이 일렬로 주어지는데, 전체에서 몇 퍼센트를 차지하는지 출력하면 된다 📍의사 코드 - 빈 객체를 만들고 주어진 문자열이 존재하면 기존 갯수 +1, 없으면 1 을 밸류로 할당하는 반복문을 실행한다 - 객체가 완성되면 객체..
백준 20291 < 파일 정리 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 📍알고리즘 분류 - 자료구조 - 문자열 - 정렬 - 해시를 사용한 집합과 맵 - 파싱 📍문제 풀이 - 파일 명에서 확장자를 골라 몇개가 있는지 갯수와 함께 출력 📍의사 코드 1. 주어진 데이터를 순회하며 . 으로 split 2. 해시 맵에 확장자가 있으면 +1, 없으면 1 3. 마지막에 완성된 객체를 순회하며 형식에 맞게 출 📍코드 (JavaScript) const [in1, ...in2] ..
백준 16165 < 걸그룹 마스터 준석이 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/16165 16165번: 걸그룹 마스터 준석이 정우는 소문난 걸그룹 덕후이다. 정우의 친구 준석이도 걸그룹을 좋아하지만 이름을 잘 외우지 못한다는 문제가 있었다. 정우는 친구를 위해 걸그룹 개인과 팀의 이름을 검색하여 외우게 하는 www.acmicpc.net 📍알고리즘 분류 - 자료구조 - 해시를 사용한 집합과 맵 (해시 맵 또는 해시 테이블) 📍문제 풀이 - 주어지는 인풋 값을 어떤 형태로 저장할까? 고민이 필요 - 팀 멤버가 주어지면 그룹 이름을 출력해야 하고, 그룹 이름이 주어지면, 팀 전체 멤버를 출력해야 한다. - { 그룹 이름: [ 팀 멤버1, ... ] } 형태의 해시 맵으로 저장하면 좋을 것 같다. 📍코드 (JavaScr..