목록분류 전체보기 (529)
안녕하세요
무인도 여행 (25) 문제 보기 문제 조건 // X는 바다 // 숫자는 식량 // 상하좌우 연결되면 하나의 섬 // 섬 별로 숫자의 합을 오름차순으로 반환 // 방문할 섬 없으면 -1 반환 문제 풀이 function solution(maps) { maps = maps.map((map) => map.split("")); // 이차원 배열로 만들기 const row = maps.length; const column = maps[0].length; const directions = [ [-1, 0], [1, 0], [0, -1], [0, 1], ]; const answer = []; const queue = []; for (let i = 0; i < row; i++) { for (let j = 0; j < c..
석유 시추 (180) 문제 보러 가기 문제 조건 세로길이가 n 가로길이가 m인 격자 석유는 여러 덩어리 수직으로 단 하나만 뚫을 수 있을 때 많은 석유를 뽑을 수 있는 시추관의 위치 찾기 시추관이 석유 덩어리의 일부를 지나면 해당 덩어리에 속한 모든 석유를 뽑을 수 있습니다. 문제 풀이(1) 효율성 실패 function solution(land) { const n = land[0].length; // 세로 n const m = land.length; // 가로 m const tries = Array(n).fill(0); let count = 0; for (let j = 0; j < n; j++) { const currentLand = JSON.parse(JSON.stringify(land)); for (..
PCCP 기출 문제 (25) 1번 문제 보러가기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 조건 확인 // 붕대감기 // t초 동안 붕대를 감으면서 1초마다 x만큼의 체력을 회복 // t초 연속으로 붕대를 감는 데 성공한다면 y만큼의 체력을 추가로 회복 // 붕대 감기 연속 성공 // 시전시간만큼 연속으로 성공하면 (1+추가 회복량)만큼 회복 // 공격 // 기술을 쓰는 도중 몬스터에게 공격을 당하면 기술이 취소 // 공격을 당하는 순간에는 체력을 회복할 수 없습니다 // 연속 성공 시간이 0으로 초기화 // 체력 // 최대 체력 // 현재 체력..
문자열 압축 (40) 문제 보기 문제 이해 조건으로 필요하다고 생각되는 부분만 정리하면 다음과 같다. - 문자열에서 같은 값이 연속해서 나타나는 문자를, 그 문자의 개수와 반복되는 값으로 표현한다. - 문자가 반복되지 않아 한번만 나타난 경우에 숫자 1은 생략한다. - 문자열을 1개 이상의 단위로 잘라서 압축하여 더 짧은 문자열로 표현할 수 있는지 방법 찾는다. 문제 풀이 - 1부터 s.length / 2 단위로 자른 결과를 모두 구하고 - 가장 짧은 결과를 반환한다. 요구사항 자체는 간단하기 때문에 이렇게만 생각했다. 1개 단위를 2a2b와 같은 형태로 만들 수 있다면, n개 단위는 slice를 이용해서 구현하면 되는 문제가 되겠구나 싶었기 때문에 우선은 1개 단위를 2a2b와 같은 형태로 만들었다. ..