본문 바로가기

분류 전체보기234

2차원 동전 뒤집기 https://school.programmers.co.kr/learn/courses/30/lessons/131703 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr한 번 뒤집었던 행/열을 또 한번 뒤집어봤자 같은 결과경우의 수는 1. 행을 뒤집어 보고 열을 뒤집기 , 2. 열을 뒤집어 보고 행을 뒤집기예를 들어서 2의 경우의 수를 더 딥하게 나눠보면 한 행의 모든 동전이 목표의 행에 있는 모든 동전과 모두 반대이거나, 모두 같다면 원하는 바를 이룰 수 있음 따라서, 2의 경우의 수를 더 나눠보면행의 첫번째 요소들을 기준으로 목표의 행과 다른 경우 행을 뒤집고,.. 2024. 5. 20.
스타 수열 (Javascript) https://school.programmers.co.kr/learn/courses/30/lessons/70130 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제의 조건과 예시는 아래와 같다.1. x의 길이를 2n이라 할 때, 다음과 같은 n개의 집합 {x[0], x[1]}, {x[2], x[3]}, ..., {x[2n-2], x[2n-1]} 의 교집합의 원소의 개수가 1 이상입니다.2. x[0] != x[1], x[2] != x[3], ..., x[2n-2] != x[2n-1] 입니다.3. x의 길이가 2 이상의 짝수입니다. (빈 수열은 허용되지 않습니다.. 2024. 5. 17.
카드 짝 맞추기 (자바스크립트) https://school.programmers.co.kr/learn/courses/30/lessons/72415 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 초기 위치 => 뒤집을 수 있는 모든 카드들 위치 찾기 => 찾은 위치에서부터 같은 값을 갖고 있는 위치를 찾기 => 찾은 카드들의 갯수가 목표 갯수랑 갖기 전까지 앞의 과정 반복 let answer = Number.MAX_SAFE_INTEGER;const MAX = Number.MAX_SAFE_INTEGER;function solution(board, r, c) { let T = 0; f.. 2024. 5. 15.
카운트 다운 (javascript) https://school.programmers.co.kr/learn/courses/30/lessons/131129 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 dp를 이용해서 각 인덱스에는 점수 별로 얻을 수 있는 [최소한의 방법 수, '볼'+'싱글' 횟수] 을 지정해줌50점 배수는 불을 맞춰서 점수를 획득하는 것이 최소한이니 반복문을 이용해서 50점마다 먼저 값을 넣어줌1~60 점 구간에는 다트를 한번이라도 던졌을 때 얻을 수 있는 점수들이 있음1~20 싱글 => dp[1~20] = [1,1]    20~40 더블 -> 싱글의 2배수인 인덱스들이 .. 2024. 5. 14.
우선순위 큐 (최소 힙) 구현하기 프로그래머스에서 자바스크립트로 코테 문제 풀면서 힙큐를 직접 구현해야 하는 김에 블로그에 정리 함.힙의 필요 기능 2개 push,pop힙에서의 각각의 원소들은 배열로 이루어져 있고 최소힙과 최대힙을 구현할 때 값의 기준은들어가는 배열의 첫번 째 인덱스 값을 비교값으로 구현함1. 삽입(push)힙은 트리 형태로 되어 있지만 배열로도 구현 하는게 더 편함.인덱스로 접근하면 root부터 left right가 존재함.삽입을 구현할려면 일단 배열 제일 마지막에 현재 삽입값을 넣어준다.이후 자신의 부모 노드를 비교해가며 부모 노드가 현재의 값보다 작다면 swap해줄것.이것을 루트까지 반복 ( 작은 값을 만난다면 멈추고 )push(a) { this.heap.push(a); if (this.h.. 2024. 4. 30.
뒤에 있는 큰수 찾기 (자바스크립트) https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제문제 설명 정수로 이루어진 배열 numbers가 있습니다. 배열 의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는  수를 뒷 큰수라고 합니다. 정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return 하도록 solution 함수를 완성해주세요. 단, 뒷 큰수가 존재하지 않는 원소는 -1을 담습니다.풀이fo.. 2024. 4. 25.
babel 직접 설정해보기 1. 기본 웹팩의 등장 배경과 마찬가지로 브라우저는 자바스크립트의 발전 속도를 따라오지 못하면서 es5 이후의 문법들을 직접적으로 해석할 수 없다. 때문에 화살표 함수라던가 let cont 변수, jsx, 타입스크립트 등의 문법들을 브라우저가 알고 있는 자바스크립트 문법으로 변환시켜줘야 함. 이러한 도구를 트랜스파일러 라고 하는데 babel은 트랜스파일러 중 하나. Babel의 동작(빌드)은 3단계로 진행된다. Parsing -> Transforming -> Printing npm install -D @babel/core @babel/cli 바벨을 사용하기 위해 babel/core 와 커맨드 라인 인터페이스인 babel/cli를 개발 모드로 설치해줌. // ./src/math.js const sum = .. 2024. 4. 6.
webpack 직접 설정을 위한 기본 개념 1. 기본 브라우저는 자바스크립트의 발전 속도를 따라오지 못함. 때문에 es2015에서 표준 모듈 시스템을 내놓았지만 몇 몇 브라우저는 이를 사용하지 못했고, 브라우저에 무관하게 모듈을 사용하고 싶다는 욕구하에 모듈 번들러인 웹팩이 등장했다. 웹팩은 모든 파일을 모듈로 바라보고 이것들을 하나의 파일(혹은 소수)로 합쳐주는 번들러이다. 하나의 시작점인 entry 포인트로부터 의존적인 모듈을 전부 차장내어 output을 만들어낸다. npm install -D webpack webpack-cli 패지키 매니저를 통해 웹팩과 커맨드라인으로 웹팩을 실행시킬 수 있게 하는 webpack-cli를 설치해준다. node_modules/.bin/webpack // webpack 위와 같은 명령어를 통해 (같은 동작) 웹.. 2024. 4. 5.
Oath 2.0 흐름에 대해 단어 정리 Resource Owner :리소스 소유자(=user)를 말합니다. 리소스란 외부 소셜 서비스(API == 개인 정보) Authorization Server : Resource Owner를 인증하고, 우리가 개발한 웹 서비스에게 Access Token을 발급해주는 서버 즉 외부 플랫폼 리소스에 접근할 수 있는지 인증을 하는 서버를 의미 Resource Server : 구글,페이스북, 카카오와 같이 보호되는 리소스를 가지는 서버 Client : 유저가 로그인 할려는 웹 사이트. Resource Owner 를 대신해 Authorization Server & Resource Server 에 접근하는 주체입니다. client_id : client 측에서 개발 당시에 oauth 구현을 위해 리소스 서버.. 2024. 4. 4.