배열

문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 해당 문제는 정렬을 이용해 풀이를 진행했다. 중요 코드를 살펴보면각 곡괭이의 광물당 피로도를 저장하는 obj, 갖고있는 곡괭이로 캘 수 있는 광물만큼 보관하는 newMinerals, 광물이 담겨있는 배열에 특정 광물의 갯수를 반환해주는 check 함수이다. 이 문제에서는 sort 메서드와 reduce 메서드를 중요하게 사용했다. sort 메서드의 경우는 광물이 담긴 배..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 배열 food의 index 값이 음식의 칼로리고, 값은 그 음식의 갯수이다. 음식의 갯수는 무조건 짝수로되어 물의 기준으로 양 옆에 같은 수의 음식을 놓을 수 있어야 한다. 음식의 갯수가 홀수인 경우는 1개를 빼주어 짝수로 만들고 양 옆에 동일한 갯수로 위치시킨다. 또한 음식의 갯수가 1인 경우는 사용하지 않는다. 한쪽에 놓을 수 있는 food[i]의 갯수를 구한 다음..
· CS
슬라이딩 윈도우(Sliding Window) 알고리즘 고정된 윈도우(특정 범위를 나타내는 말)의 내부 요소값을 이용하여 문제를 풀이하는 알고리즘 위의 사진에서는 윈도우의 범위가 5이다. 첫번째는 1, 3, 2, 6, -1 이 윈도우 내에 있고 두번째에는 3, 2, 6, -1, 4 가 윈도우 내에 존재한다. 첫번째에서 두번째로 넘어갈 때, 맨 앞에 위치한 1은 윈도우 내에서 제거되고, 1을 제외한 3, 2, 6, -1 은 재사용되며 그 뒤로 새로운 요소인 4가 추가가 된다. 슬라이딩 윈도우 알고리즘는 재사용이 중요하다고 생각한다. 고정된 범위를 가지고 움직이는 윈도우 내에 있는 요소들을 움직이는 만큼 앞에 있는 요소를 제거하고 나머지 값은 재사용하며 그 뒤에 새로운 값들을 배정해 사용한다. 시간복잡도 : ..
코드 const path = __dirname + '/예제.txt'; // /dev/stdin let input = require('fs').readFileSync(path).toString().trim().split('\n').map(e => e.split(' ')); const [N, M, rotaTime] = input.shift().map(Number); const board = input.map(e => e.map(Number)); const solution = (N, M, board) => { let answer = '' let arr = [...board]; for (let i = 0; i < rotaTime; i++){ const newArr = spin(N, M, arr); arr = [..
문제 설명 문제 풀이 방법 1부터 num까지의 수가 왼쪽에 큰 수의 개수를 비교하며 배열에 추가해준다. 코드 1 // const path = __dirname + '/예제.txt'; let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); const num = +input[0]; const rule = input[1].split(' ').map(e => +e); const sol = (n, array) => { let arr = new Array(n); for (let i = 0; i < array.length; i++) { let left = array[i]; let cnt = 0; for (let j = 0;..
58청춘
'배열' 태그의 글 목록