백준 14891 < 톱니바퀴 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 📍알고리즘 분류 - 구현 - 시뮬레이션 📍문제 풀이 - 톱니바퀴 동작 모델링하는 어려웠던 구현 문제 - 실제 톱니바퀴처럼 맞물려서 돌아가는 것이 아니라, 하나가 회전하면 맞닿은 톱니바퀴는 회전하지 않을 수도 있다 - 회전하는 톱니바퀴는 deque 으로 구현 📍코드 (JavaScript) const readline = require("readline"); const rl = read..
백준 1094 < 막대기 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 📍알고리즘 분류 - 수학 - 비트마스킹 📍문제 풀이 64cm 의 막대기가 있을 때 이를 절반으로 쪼개면서 X cm로 만드려면 총 몇개의 막대기가 필요한지 구하라 ✅비트마스킹을 통해 해결할 수 있다 이 문제는 10진수를 2진수로 바꾸는 과정과 상당히 유사하다! ✅예) X = 23 일 때, X를 2진수로 바꾸기 1. X > 0 이면 아래를 반복 1-1. X = X / 2 의 몫 1-2..
백준 11048 < 이동하기 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net 📍알고리즘 분류 - 다이나믹 프로그래밍 📍문제 풀이 사탕이 R행 C열의 좌표평면에 몇 개씩 놓여져 있다 1행 1열에서 출발하여 R행 C열 까지 이동한다고 할때 경로를 지나며 획득할 수 있는 사탕의 최대 갯수를 구하면 된다 이때, 이동할 수 있는 방향은 3시 방향, 5시 방향, 6시 방향의 3개이다 R+1 * C+1 크기의 memoization 이차원 배열을 그리고, 직전..
백준 3190 < 뱀 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 📍알고리즘 분류 - 구현 - 자료 구조 - 시뮬레이션 - 덱 - 큐 📍문제 풀이 - 가상의 좌표평면에서 사과 위치의 좌표 리스트, 방향 전환 (turn left, turn right)이 발생하는 시간 리스트가 주어진다 - 뱀이 1행 1열에서 시작하여 우측방향으로 1초마다 움직인다, 사과를 먹을 경우 길이가 1칸 늘어난다 - 벽에 부딪히면 게임이 끝난다 - 자기 몸체에 부딪히면 게임이 끝난다 ..
백준 14502 < 연구소 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 📍알고리즘 분류 - 구현 - 그래프 이론 - 브루트포스 알고리즘 - 그래프 탐색 - 너비 우선 탐색 📍문제 풀이 - N(세로) * M(가로) 좌표 평면에 바이러스, 벽, 빈칸이 존재한다. 벽을 딱 3개만 세울 수 있을 때, 확보 가능한 안전영역의 최대넓이를 구하라 - 바이러스는 벽이 없는 상하좌우로 퍼질 수 있다 - 빨간 2 = 바이러스 좌표 - 파란 1 = 벽 - 초록 0 = 벽을 세우는 좌표 ..
백준 1011 < Fly me to the Alpha Centauri > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 📍알고리즘 분류 - 수학 📍문제 풀이 - 특정한 수 N 이 주어질 때, 1 ... N ... 1 구조를 만족하는 전체 배열의 길이를 구하면 된다 - 이 문제는 규칙성이 있다 N = 1 (N