개발 공부 57

[LeetCode] 6. ZigZag Conversion

문제 LeetCode 6. ZigZag Conversion https://leetcode.com/problems/zigzag-conversion/ ZigZag Conversion - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 언어 자바스크립트(JavaScript) 접근 방법 numRows 크기의 배열을 생성한다. 사이클의 크기를 계산한다. 사이클에 맞게 각 배열에 문자를 삽입한다. 각 배열의 문자를 합쳐 반환한다. 코드 /** * @param {string}..

[LeetCode] 3. Longest Substring Without Repeating Characters

문제 LeetCode 3. Longest Substring Without Repeating Characters https://leetcode.com/problems/longest-substring-without-repeating-characters/submissions/ Longest Substring Without Repeating Characters - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 언어 자바스크립트(JavaScript) 접근 방법 Loop와..

[LeetCode] 792. Number of Matching Subsequences

문제 LeetCode 792. Number of Matching Subsequences https://leetcode.com/problems/number-of-matching-subsequences/ Number of Matching Subsequences - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 언어 자바스크립트(JavaScript) 접근 방법 word의 한 글자씩 loop를 실행한다. s에 word의 글자가 존재하면 그 전의 글자는 모두 없앤다. s..

[LeetCode] 2. Add Two Numbers

문제 LeetCode 2. Add Two Numbers https://leetcode.com/problems/add-two-numbers/ Add Two Numbers - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 언어 자바스크립트(JavaScript) 접근 방법 Loop를 이용하여 푼다. l1, l2를 이용하여 현재 node의 val을 계산한다. l1, l2의 next가 모두 존재하지 않으면 loop를 종료한다. next가 하나라도 존재한다면, node의 ..

[프로그래머스] 이진 변환 반복하기

문제 프로그래머스 월간 코드 챌린지 시즌 1 이진 변환 반복하기 programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 재귀 함수를 작성하고 실행한다. 0을 제거한다. 제거 후 길이를 구하고 이를 이진 변환하여 재귀 함수를 호출한다. 코드 function solution(s) { const answer = [0, 0]; console.log(s) transfrom(s, answer); return answer; } const transfrom = (s, answer) => { const strWithoutZero = s.replace(/0/g,""); ..

[프로그래머스] 퀴드압축 후 개수 세기

문제 프로그래머스 월간 코드 챌린지 시즌 1 퀴드압축 후 개수 세기 programmers.co.kr/learn/courses/30/lessons/68936 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 재귀 함수를 작성하고 실행한다. 배열을 0 또는 1로 압축이되는지 확인..

[프로그래머스] 삼각 달팽이

문제 프로그래머스 월간 코드 챌린지 시즌 1 삼각 달팽이 programmers.co.kr/learn/courses/30/lessons/68645 언어 자바스크립트(JavaScript) 접근 방법 값을 모두 채웠는지 확인한다. 왼쪽 아래가 비는 경우 왼쪽 아래를 채운다. 다만 왼쪽 위도 비는 경우는 왼쪽 위를 먼저 채운다. 왼쪽 아래가 비지 않고 오른쪽이 비는 경우 오른쪽을 채운다. 왼쪽 아래, 오른쪽이 비지 않는 경우 왼쪽 위를 채운다. 코드 function solution(n) { const answer = []; const arr = getEmptyArr(n); arr[0][0] = 1; let x = 0; let y = 0; let value = 1; while(true){ // 값을 모두 채웠는지..

[프로그래머스] 다리를 지나는 트럭

문제 프로그래머스 다리를 지나는 트럭 programmers.co.kr/learn/courses/30/lessons/42583 언어 자바스크립트(JavaScript) 접근 방법 다리위 트럭을 이동시킨다. 다리를 건넌 트럭이 있으면 다리 위에서 제거한다. 다음 트럭이 다리 위에 올라갈 수 있다면 다리 위에 올린다. 모든 트럭이 다리를 건넜는지 확인하고, 아니라면 반복한다. 코드 function solution(bridge_length, weight, truck_weights) { let cnt = 0; let bridgeStateList = []; while(true){ cnt ++; // 모든 트럭 이동 bridgeStateList.forEach((bridgeState=>{ bridgeState.pos +..

[프로그래머스] 두 개 뽑아서 더하기

문제 프로그래머스 월간 코드 챌린지 시즌1 두 개 뽑아서 더하기 programmers.co.kr/learn/courses/30/lessons/68644?language=javascript 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 언어 자바스크립트(JavaScript) 접근 방법 n개 중에 r개를 뽑는 조합 배열을 생성한다. 조합 배열을 이용하여 두 개 뽑아서 더한 결과 배열을 생성한다. set을 이용하여 중복을 제거한다. sort를 이용하여 오름차순으로 ..

[JavaScript] Promise.all

Promise 이전에 promise에 관한 내용을 설명한 적이 있었다. jongbeom-dev.tistory.com/121?category=863255 [JavaScript] 프로미스(Promise) 비동기 함수를 사용할 때 성공한 경우와 실패한 경우에 따라 코드를 작성해야 하는 경우가 많다. 이때 가독성이 매우 떨어지는 코드를 작성하게 된다. 예를 들어 다음과 같은 testLuck이라는 이름 jongbeom-dev.tistory.com 정리하자면 콜백 함수가 promise를 리턴하도록 정의하면, 리턴 받은 promise의 .then 메서드와 .catch 메서드를 이용하여 가독성 높게 코드를 작성할 수 있다. 같은 예제를 이용하여 promise를 리턴하는 비동기 함수를 정의하였다. var testLuck..