백준 1655 < 가운데를 말해요 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 📍알고리즘 분류 - 자료 구조 - 우선순위 큐 📍문제 풀이 1 = parent) break; this.values[parentIdx] = element; this.values[idx] = parent; idx = parentIdx; } } dequeue() { const min = this.values[0]; const end = this.values.pop(); if..
백준 6198 < 옥상 정원 꾸미기 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크https://www.acmicpc.net/problem/6198 6198번: 옥상 정원 꾸미기문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으www.acmicpc.net 📍알고리즘 분류- 자료구조 - 스택 📍문제 풀이문제 요구사항은 쉽지만, N이 최대 8만에 달하기 때문에, O(N^2) 로는 해결할 수 없다 - 시간복잡도를 낮추기 위한 방법이 필요하다 배열을 순회하며 stack 길이만큼 반복문 수행 스택의 최신 값이 현재값보다 같거나 작으면, pop 실행, 아니면(가려져서 안보이므로) 종료 반복문 종료후 스택의 길이를 답에 더한다 그리고 스택에 현재..
백준 3190 < 뱀 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 📍알고리즘 분류 - 구현 - 자료 구조 - 시뮬레이션 - 덱 - 큐 📍문제 풀이 - 가상의 좌표평면에서 사과 위치의 좌표 리스트, 방향 전환 (turn left, turn right)이 발생하는 시간 리스트가 주어진다 - 뱀이 1행 1열에서 시작하여 우측방향으로 1초마다 움직인다, 사과를 먹을 경우 길이가 1칸 늘어난다 - 벽에 부딪히면 게임이 끝난다 - 자기 몸체에 부딪히면 게임이 끝난다 ..
백준 1918 < 후위 표기식 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net 📍알고리즘 분류 - 자료 구조 - 스택 📍문제 풀이 - 중위 표기식을 후위 표기식으로 바꿔 출력하라 - 곱셈, 나눗셈은 덧셈, 뺄셈보다 우선순위가 높은 연산자이다 📍의사 코드 - 일반 배열과 스택 배열을 만든다 - 주어진 중위 표기식 문자열을 순회하며, 알파벳이면 : 일반 배열에 push ( 이면 : 스택에 push ) 이면 : 스택 배열의 마지막 원소가 (가 나올 때까지 일반 배..
백준 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..