구현

문제https://www.acmicpc.net/problem/2292 풀이벌집의 방 수가 6의 배수대로 증가하는 모습을 보며 2 번째 방의 시작인 2와 끝인 7의 변화를 지정해 주며, 입력되는 N이 해당 범위 내에 속하는 지를 확인하며 시뮬레이션 한다. 코드const input = require('fs') .readFileSync(process.platform === 'linux' ? '/dev/stdin' : __dirname + '/example.txt') .toString().trim().split('\n');let n = +input.shift();if (n === 1) console.log(1);else { let cnt = 1; let [min, max] = [2, 7]; while ..
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이필자는 해당 문제를 단순 구현으로 풀이하려 했다. DP 알고리즘을 이용해 이전 문자열 + '0'.repeat(5 ** (i - 1)) + 이전 문자열 로 문자열을 구해 풀려했지만, 특정 케이스에서는 컴파일 에러가 발생했다. 그래서 수학적인 접근을 시도했다. 우선 문자열에서 규칙을 찾아보자면, 1의 개수는 4 * n개 이다. 그리고 0은 5개로 자른 문자열에서 항상 2번 인덱스에 위치한다. 이와같은 특징을 이용해 1과 0을 구분할 수 있는 check 함수를 제작해보자.check 함수에서는 크게 3가지 경우를 처리한다.1. 입력된 인덱스 값이 5보다..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이해당 문제는 문제를 해석하는데 어려움이 있었다...  일단 프로세스를 문제에서 설명해주기 때문에 프로세스를 따르며 구현하면 큰 어려움은 없다. 코드function solution(p) { const check = (st) => { const stack = []; for (let i = 0; i { let res = ''; let cnt = 0; if (w.length === 0) return ''; for (let i = 0; i
문제https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이 문제는 하드한 구현 문제이다. key가 되는 배열의 크기를 (자물쇠의 크기 * 3) - 2 크기로 만들어 주어 자물쇠가 배열안에 들어가 체크가 가능하게 만들어 주어야 한다. 이는 열쇠가 자물쇠 밖으로 이동해도 된다는 조건을 구현한 것이다. 또한 열쇠의 회전도 구현해야 한다. 회전의 경우 배열 회전 문제에서 많이 봤던 로직을 이용하면 되는데, 열쇠의 가로줄이 새로운 열쇠 배열의 세로줄이 된다..
문제https://school.programmers.co.kr/learn/courses/30/lessons/81303# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이 문제.... 쉽지 않았다...처음에는 Map 객체를 이용해 구현했는데, 테스트 케이스는 통과하지만 정답은 아니였다.function solution(n, k, cmd) { const map = new Map(); const del = []; for (let i = 0; i k + 1) { if (map.get(k + 1) !== 'X') { while (..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이우선 이 문제를 만든 카카오에 대해 크나 큰 존경이 들었다. 이게 참... 확실히 굉장한 사람들이 모인 집단같다.... 이 문제를 처음 봤을 때는 브루트 포스를 이용해 문제를 풀어 정확도는 전부 맞았지만, 효율성에서 통과되지 않았다. 이 문제의 효율성 테스트를 통과하기 위해서는 누적합 알고리즘을 이용해야한다.  문제는 필자는 이 사실을 정말 알지도 못했기 때문에 긴 시간동안 풀지 못해 풀이를 설명하는 글을 참고했다. 1차원 배열의 누적합을 이용해 풀이해 [2, 3, 3, 1]의 배열에서 1번 인덱스 부터..
58청춘
'구현' 태그의 글 목록 (2 Page)