Could not find a declaration file for module 'module-name'.Could not find a declaration file for module (모듈에 대한 선언 파일을 찾을 수 없습니다) 문제 발생구글 스프레드시트를 연동하는 라이브러리 사용중 다음과 같은 에러가 발생했다. 자바스크립트만 지원하는 npm 모듈을 TypeScript에서 사용할 때 발생하는 오류이다.npm 모듈 개발자가 TypeScript 타입을 지정하지 않고 자바스크립트만 지원하는 npm 모듈을 만든 경우 TypeScript에서 사용할 때 오류가 발생한다. 해당 라이브러리가 타입 정의를 지원할 경우 오류코드에 나와있는 것처럼 @types/google-spreadsheet 를 설치해도 해결되지만, ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/120880 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이절대값의 차이를 비교하고, 같은 수가 있을경우에는 내림차순으로 정렬되게 한다. function solution(numlist, n) { return numlist.sort((a, b) => { const A = Math.abs(a - n); const B = Math.abs(b - n); if (A === B) { return b - a; // 거리가 같을 때는 더..
문제https://school.programmers.co.kr/learn/courses/30/lessons/181921 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이직접구하는건 쉬운데 코드로 짜보는게 더 어렵다..꼼수를 쓰자하니 더 복잡해지는거 같아 정석대로 풀기범위 구간에서 반복문으로 돌면서 5,0이 들어간 애들만 정규식으로 추출해서 true인 경우 배열이 집어 넣는다.function solution(l, r) { let answer = []; for (let i = l; i
문제https://school.programmers.co.kr/learn/courses/30/lessons/120878 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이여러가지 꼼수를 부려보다가 실패해서 결국 정석대로...일단 기약분수를 한번에 만들어 주기 위해서는 분자, 분모의 최대공약수를 구하면 된다.최대공약수를 구한다음 분모를 기약분수로 만들준다 num = b/gcd 기약분수의 분모인 num이 2또는 5만 소인수로 가지고 있어야 되므로2와 5로 계속 나누어 1이 되는지 확인해준다 예시로 10이 기약분수라면 2로 계속 나눴을때 55를 계속 나누었을땐 1 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/120921 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이문자열을 배열로 바꾼 다음 진행한다.A와 B가 같다면 바로 0을 리턴하고같지않다면 pop()으로 맨 뒤의 요소를 떼와 unshift로 맨 앞에 넣어준다. 그 배열을 합쳐서 만들어진 문자열이 B와 같다면 인덱스에 1을 더해 리턴해준다. (밀어낸 문자수니까 1부터 시작)문자열 전체를 밀어도 같지 않다면, -1 을 리턴 해준다.function solution(A, B) { const str = ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/120871 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이3의 저주... 369 게임을 한다고 생각해보면 된다. 이 게임은 직접 해봐야 알 수 있고 패턴을 계산하기에는 어렵다.그래서 컴퓨터에게 369 게임을 시켜보려고 한다. 몇 번째 박수인지 진행되는 단계수 파악, 최종 리턴할 결과 값, 1,2,3,4 ...쭉쭉 이어져갈 숫자step이 n번 진행될때마다 num에는 정상적인 숫자 패턴을 입력해주고 1. 3의 배수2. 3이라는 문자가 포함3. 3의 배..
문제https://school.programmers.co.kr/learn/courses/30/lessons/120884 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이우선 서비스 치킨은 0, 쿠폰의 수는 치킨 수로 설정한다.이 동작은 쿠폰이 10개 이상일때 계속 반복되어야 하니 while문을 사용한다.쿠폰이 10장 생기면 서비스 치킨을 받을 수 있으니 서비스는 = 쿠폰/10장 반내림으로 설정하고 이때 쿠폰의 수는 10으로 나눴을때 나머지 + 서비스 치킨으로 받은 쿠폰 으로 계산해준다. 이 과정을 쿠폰이 10장 미만이라 치킨을 더 이상 시켜먹지 못할 때까지..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181851 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단..문제를 보고 든 생각, 배열에서 true만 뽑아 랭크 : 번호 로 할당된 객체를 만든다. 객체는 key가 숫자일 경우 자동적으로 오름차순 정렬되기 때매 랭크 순서대로 정렬된 값을 구할 수 있다. 다음 Object.values 를 통해 배열로 변경해 순서대로 3개를 꺼낸다 (무조건 3개 이상의 값을 가진다는 조건이 있으니 등수가 모자랄 경우는 고려하지 않음) function so..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120882 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 배열을 돌며 평균 점수로 바뀐다. 점수를 sort를 통해 크기 순서대로 정렬한 다음 해당 배열에 해당하는 인덱스를 찾아 낸다 => 등수!! function solution(score) { const avg = score.map((test) => test.reduce((a, b) => a + b, 0) / test.length); const sortedAvg = [...avg].s..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 직사각형이란 조건이 주어졌으니 직각이다라는 점을 생각하면 된다. 한 꼭짓점을 공유하는 두 변을 찾으면 된다. 좌표 하나를 기준으로 정한 다음, x좌표가 같은 경우, y좌표가 같은 경우를 찾아 길이를 구해 곱해준다. function solution(dots) { //직사각형 = 직각, 서로 직각이 되는 면을 찾자 const [x, y] = dots[0]; let answer = 1; /..