일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 타입스크립트
- 제로베이스
- 자바스크립트 문제 풀이
- 자바스크립트코딩테스트
- react
- 자바스크립트
- 자바스크립트 문제
- next13
- 리액트
- 리액트쿼리
- HTML
- Next.js13
- Baekjoon
- CSS
- NPM
- leetcode
- leetcode문제풀이
- 프론트엔드
- 자바스크립트 연결리스트
- 자바스크립트 문제풀이
- 자바스크립트 알고리즘
- 프로그래머스
- 알고리즘문제풀이
- Next
- lodash
- til
- stack문제
- 자바스크립트 알고리즘 문제
- JS
- JavaScript
- Today
- Total
목록자바스크립트 (30)
코드노트
Longest Common Prefix 가장 긴 공통 접두사 구하기 문제설명 더보기 문자열 배열 중에서 가장 긴 공통 접두사 문자열을 찾는 함수를 작성하십시오. 공통 접두사가 없으면 빈 문자열 ""을 반환합니다. - 문제만 보면 어려운건 없었다. 처음에는 문자를 split으로 나누어서 비교를 해야겠다고 생각했었다. - 결국 index를 활용하는 방법으로 문제를 풀었다. let strs = ["flower", "flow", "flight"]; var longestCommonPrefix = function (strs) { let result = ""; if (strs === null || strs.length === 0) { // input이 없거나 길이가 0이면 종료 return result; } for ..
더보기 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. function solution(arr1, arr2) { var answer = []; for (let i = 0; i < arr1.length; i++) { let sum = []; for (let j = 0; j < arr1[i].length; j++) { sum.push(arr1[i][j] + arr2[i][j]); } answer.push(sum); } return answer; } - 아직도 2차원 배열에 접근하는게 조금 어렵다... - for문으로 간단하게 해결을 ..
더보기 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해..
더보기 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니..
더보기 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다. 당첨..
자바스크립트로 코딩테스트 문제를 풀다보면 항상 for...forEach등을 자주쓰게 된다. 뭔가 자연스럽게 생각을 하기도전에 내 손가락은 for(let i = 0; i < ....을 치고 있다 ㅋㅋㅋㅋㅋㅋ 프로그래머스, 백준 문제풀이들을 볼때마다 reduce, filter를 많이 사용하는걸보고 난 왜 저렇게 생각을 못할까? 라는 생각이 들었다..! 아직 내 뇌는 for만 생각을 하고 있는 것 같다... 그래서 사용방법들을 정리하면서 이제 내 머리에 넣어보려고 한다ㅠㅠ! reduce는 4가지의 인수를 가진다. 그렇기 때문에 사용하기 전에도 거부감이 먼저 들었던거 같다.. 4가지 인수는 다 사용할 필요도 없는데 말이야...! 가장 좋은 예만 봐도 사용하기에 정말 좋았다. 1부터 10까지의 배열을 가지고 있는..
더보기 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. participant completion return ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" ["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "filipa", "marina", "nikola"] "vinko" ["mislav", "stanko", "mi..
연결리스트 - 각 노드가 데이터와 포인터를 가지며, 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조. HEAD -> Node -> Node -> Node -> null Node() : data와 point를 가지고 있는 객체 //Node(): data와 point를 가지고 있는 객체 function Node(data) { this.data = data; this.next = null; } LinkedList() : head와 length를 가지고 있는 객체 // LinkedList(): head와 length를 가지고 있는 객체 function LinkedList() { this.head = null; this.length = 0; } LinkedList.size() - 노드 개수 확인 / ..
ex ) [6,3,11,3] 배열이 주어질 때, 수열의 있는 수 중에서 최소값의 위치를 모두 출력해야한다. 최소값은 3이고 1, 3번 자리에 3이 있으므로, 1. 최소값을 구한다. let nums = [6,3,11,3] let min = Number.MAX_SAFE_INTEGER; for(let i = 0; i nums[i]) { min = nums[i] } } - 변수 min을 만들어서 정수 최대값으로 넣어주고 for문으로 비교하면서 최소값을 min에 넣는다. 2. 최소값을 통해서 인덱스 위치를 출력한다. for(let i in nums){ if(min = nums[i]) { result.push[i]; } } - for..in 으로 min과 n..
const fs = require("fs"); const input = fs.readFileSync("./input.txt", "utf8") console.log(input); 프론트엔드를 준비하면서 자바스크립트로 알고리즘 공부를 하려고 하면 처음에 시작해야하는게 있다. 파일을 가지고 오려면 require()를 통해서 들고 온다. fs = file system fs 라이브러리 중에서 readFileSync를 통해서 파일을 읽을 수 있는 기능을 제공하는 함수를 가지고온다. input에 담겨 있는 console.log로 출력해보면 문자열로 확인이 가능해진다. 텍스트 파일을 불러오려면 이렇게 진행해야한다. 그 외에 다른방법도 있지만 node.js에서 사용하기 위해서 이렇게 사용한다.