문제https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이 문제는 하드한 구현 문제이다. key가 되는 배열의 크기를 (자물쇠의 크기 * 3) - 2 크기로 만들어 주어 자물쇠가 배열안에 들어가 체크가 가능하게 만들어 주어야 한다. 이는 열쇠가 자물쇠 밖으로 이동해도 된다는 조건을 구현한 것이다. 또한 열쇠의 회전도 구현해야 한다. 회전의 경우 배열 회전 문제에서 많이 봤던 로직을 이용하면 되는데, 열쇠의 가로줄이 새로운 열쇠 배열의 세로줄이 된다..
배열
디스트럭처링 할당(구조 분해 할당)은 구조화된 배열과 같은 이터러블 또는 객체를 1개 이상의 변수에 개별적으로 할당하는 것을 말한다. 배열 디스트럭처링 할당// ES5var arr = [1, 2, 3];var one = arr[0];var two = arr[1];var three = arr[2];console.log(one, two, three); // 1 2 3 구조 분해 할당의 대상은 이터러블이어야 하며, 할당 기준은 배열의 인덱스다.const arr = [1, 2, 3];// ES6 배열 디스트럭처링 할당// 변수 one, two, three를 선언하고 배열 arr을 디스트럭처링하여 할당한다.// 이때 할당 기준은 배열의 인덱스다.const [one, two, three] = arr;cons..
배열은 여러 개의 값을 순차적으로 나열한 자료구조이다. 프로그래밍에서 배열은 사용 빈도가 매우 높은 기본적인 자료구조이다. 특징위에서 기술한 것처럼 배열은 여러 개의 값을 저장하는 자료구조이다. 배열은 여러개의 동일한 타입의 값을 동일한 크기의 연속된 메모리 공간에 순차적으로 값을 저장하는 데이터 모음이다. 배열을 구성하는 요소 값을 배열에 저장하는데, 이때 요소를 저장하는 위치 번호를 나타내는 숫자를 인덱스라 한다.인덱스는 0부터 배열 전체 요소의 수 - 1 까지 존재한다. 위의 사진에서 int로 타입을 선언했다면 int를 제외한 다른 타입의 값은 해당 배열에 저장할 수 없다. 배열의 표현C언어의 배열을 살펴보자int array [10] = { 35, 33, 11, 12, 52, 63, 13, 64,..
1. 배열이란?배열은 여러 개의 값을 순차적으로 나열한 자료구조이다. 배열 안에는 요소들을 저장할 수 있으며, 요소들의 위치인 인덱스를 갖는다. 배열의 길이 length 프로퍼티를 갖는다. 2. JS 배열은 배열이 아니다자료구조에서의 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조이다. 이라한 배열을 밀집 배열이라 한다. JS의 배열은 일반적인 배열의 동작을 흉내 낸 특수한 객체다. JS에서는 배열이라는 타입이 없으며 JS에서의 배열은 객체 타입이며 다른 객체와 달리 length 프로퍼티가 있다. // "16.2. 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체" 참고console.log(Object.getOwnPropertyDescriptors([1, 2, 3]));/*{ '0'..
문제 설명 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]의 갯수를 구한 다음..