일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RT scheduling
- 자바스크립트
- 타입스크립트
- 코딩테스트
- 스택
- C
- 프로세스
- 프론트엔드
- 이진탐색
- 릿코드
- 알고리즘
- vue3
- GraphQL
- 연결 리스트
- 자료구조
- 포인터
- cors
- APOLLO
- alexnet
- 브라우저
- 큐
- Machine Learning
- RxJS
- 해시테이블
- 배열
- 프로그래머스
- 웹팩
- pytorch
- 컨테이너
- 연결리스트
- Today
- Total
목록프로그래머스 (14)
프린세스 다이어리
1. 접근 방법 (1) lottos에서 win_nums랑 일치하는 숫자의 갯수가 n이라면, 최소 정답은 n개, 최대 정답은 n + (0의 갯수)다. (2) 0의 갯수 구하기 const numOfZeros = lottos.filter(lotto => lotto === 0).length; (3) 최소, 최대 정답 수 구하기 let minCorrect = 0; for (let i = 0; i { if (corre..
문제 바로가기 1. 접근 방법 이 문제는 딱히 특별한 접근 방법이 있다기보다는 정규표현식만 잘 쓰면 된다. // 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. answer = answer.toLowerCase(); // 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. answer = answer.replace(/[^0-9a-z-_.]gi/, ""); // 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. answer = answer.replace(/\.+/gi, "."); // 4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. answer = a..
머지??? 새로 풀려고 들어갔는데 예전에 파이썬으로 풀은 적이 있음.. ㄷㄷ 일단 해답 기록,, def binary_search(times, n, left, right): count = 0 answer = -1 while left = n: if answer == -1: answer = mid else: answer = min(answer, mid) right = mid - 1 elif count < n: left = mid + 1 return answer def solution(n, times): times.sort() left = 0 right = times[-1]*n answer = binary_search(times, n, left, right) print(answer) return answer s..
> 문제 바로가기 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 1. 접근 방법 (0) 일단 문제가 해시 카테고리에 있다는 점을 참고해 map을 생성하여 작성함. (1) map에 장르별로 key에 장르를, value에 각 곡의 인덱스와 실행 횟수를 배열로 넣어주고, 문제의 조건대로 value 정렬하기 let map = new Map(); for (let i = 0; i < genres.length; i++) { if (map.get(genres[i])) { map.set(genres[i], [...map...
> 문제 바로가기 1. 접근 방법 (1) 주어지는 clothes 배열을 for...of 문으로 돌면서 map에 넣어준다. for (let clothing of clothes) { if (map.get(clothing[1])) { map.set(clothing[1], [...map.get(clothing[1]), clothing[0]]) } else { map.set(clothing[1], [clothing[0]]); } } (2) 옷을 입는 경우의 수를 계산한다. 아무것도 안 입는 경우는(-///-) 없기 때문에 마지막에 1을 뺀다. for (let [key, value] of map) { result = result * (value.length + 1) } return result - 1; 2. 전체 ..
> 문제 바로가기 1. 접근 방법 (0) 동명이인이 있을 수 있다는 점에서 해시 테이블로 푸는 방법을 생각했다. (1) participant를 map에 저장하면서, key는 참가자 이름, value는 동명이인이 이미 있으면 +1, 없으면 그냥 1로 넣어준다. for (let person of participant){ if(!map.get(person)){ map.set(person, 1); }else{ map.set(person, map.get(person)+1); } } (2) completion을 돌면서 한 명씩 map에 이름에 해당하는 값이 1이면 엘리먼트를 삭제해 주고, 2 이상이면 1을 뺀다. for(let person of completion){ if(map.get(person) >= 2){ ..
> 문제 바로가기 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 1. 접근 방법 - [["ICN", "JFK"], ["HND", "IAD"], ["JFK", "HND"]] 이런 그래프고 각 노드의 [0]이 출발, [1]이 도착임 - 문제에서 항상 ICN 공항에서 출발한다고 했으므로 출발지는 'ICN' - 주어진 tickets(array), 시작노드 'ICN'(string), 탐색중인 경로 path(array), 결과 담을 routes(array) (1) 만약 tickets가..
백준은 웹사이트가 구리다. 자바스크립트로 간단한 것좀 풀어보려고 들어갔는데 언어 선택에 '자바스크립트'는 없고 대신 'node.js'가 있다. 프로그래머스처럼 핵심적인 로직 짜는 사고만 하면 되는 게 아니라 입력값을 받는 로직까지 익혀야 여기에서 문제를 풀어나갈 수 있다. 나는 극단의 초심자라 한 시간 동안이나 입력값 받아서 자르는 방법 검색하고 적용해 보았다. UI 디자인도 핵 로우 하다. 마치 이커머스 계의 쿠팡을 보는 듯하다. 자 그렇다면 백준에서 가능한 것이 무엇이 있을까. 핵심 알고리즘 로직을 익히는 데만 집중할 수 있는가? -> 아니오 뒤로가기 혹은 앞으로 가기 후 돌아왔을 때 코드가 남아있는가? -> 아니오 command + d 단축키를 지원하는가 -> 아니오 문제와 풀이를 동시에 볼 수 있..