목록My footPrints 🔥🔥🔥 (311)
Daehyunii's Dev-blog
데브코스 코딩테스트 회고 개발자 공부를 시작한지 약 4개월 정도 지났다. 3개월이 넘어가는 시점에서는 부트캠프에 참여하는 방향이 좋을것이라고 생각되어 부트캠프를 알아 보았고, 그 중 프로그래머스의 데브코스를 제일 가고 싶었다. 가고싶은 가장 큰 이유는 기본적으로 시험을 통해서 교육자를 뽑기 때문에 내가 가서 배울 부분이 정말 많을것이라고 생각이 들었기 때문이다. 하지만 지금까지 전부 자바스크립트의 기초개념과 동작원리를 중심으로 공부를 했기 때문에 직접 코드를 구현하는것은 굉장히 생소한 일이었다. 그래서 코딩테스트 준비를 하기 위해서 처음 시작한 것은 유데미와 인프런에서 기초강의를 듣기로 결정했다. 유데미의 경우에는 직접 코딩하는 기술을 익힌다기 보다는 알고리즘이란 무엇인지부터 시작해서 어떤 자료구조가 있..
Number.MAX_SAFE_INTEGER; Number.MIN_SAFE_INTEGER; Array.prototype.splice(인덱스, 요소 개수, 뭐 넣을지) : 몇 번 인덱스부터 몇 개 요소를 제거하고 제거한 부분에 어떤 값을 넣을지 String.prototype.replace(/A/g, '#') : 문자열의 A를 전부 #으로 변경 String.prototype.replace(/[^a-z]/g, '') : 문자열의 a-z가 아닌 문자들을 ''로 변경 String.prototype.split(구분자) : 구분자로 문자열을 나눠서 문자들 하나 하나를 요소로 하는 배열로 반환(구분자는 제외됨) String.prototype.toUpperCase String.prototype.toLowerCase Str..
오늘로 알고리즘 기초문제풀이 강의를 다 듣게 되었다. 재귀함수에 들어가기 전까지는 강의 내용의 90%는 이해하고 넘어갔다면 재귀함수 이후부터는 50%도 제대로 이해하기 힘들었던것 같다. 그래도 계속해서 붙잡고 있는 것보다는 빠르게 한 바퀴를 돌고 두 번 세 번 반복하는것이 더 공부하기 좋은 방법일 것이라고 생각해서 어느정도 이해했다면 길게 끌지 않고 넘어갔다. DFS와 BFS의 개념자체가 어려운것은 아니었지만 이를 코드로 구현하는게 굉장히 어려웠다. 단순하게 탐색만을 하는것이라면 이해하고 외우면 되겠지만 완벽하게 메커니즘을 이해하지 못하면 조금만 문제가 뒤틀려도 풀 수 없을것 같아서 우선 최대한 이해하는데 집중하려고 노력했다. 지금 당장은 전체 강의 중에 70% 정도만 정확히 공부하고 뒤에 30%는 제대..
문제(출처 : 인프런 자바스크립트 알고리즘 문제풀이 강의, 정보올림피아드) 철수는 계단을 오를 때 한 번에 한 계단 또는 두 계단씩 올라간다. 만약 총 4계단을 오른다면 그 방법의 수는 1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2 로 5가지이다. 그렇다면 총 N계단일 때 철수가 올라갈 수 있는 방법의 수는 몇 가지인가? ▣ 입력설명 첫째 줄은 계단의 개수인 자연수 N(3≤N≤45)이 주어집니다. ▣ 출력설명 첫 번째 줄에 올라가는 방법의 수를 출력합니다. ▣ 입력예제 1 7 ▣ 출력예제 1 21 Tip 문제풀이 //강의 듣고 내가 다시 작성한 답 function solution(num){ let answer; let dyTable = Array.from({length : num+1}, (..
문제(출처 : 인프런 자바스크립트 알고리즘 문제풀이 강의, 정보올림피아드) 현수는 송아지를 잃어버렸다. 다행히 송아지에는 위치추적기가 달려 있다. 현수의 위치와 송아 지의 위치가 수직선상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음 과 같은 방법으로 이동한다. 송아지는 움직이지 않고 제자리에 있다. 현수는 스카이 콩콩을 타고 가는데 한 번의 점프로 앞으로 1, 뒤로 1, 앞으로 5를 이동할 수 있다. 최소 몇 번의 점프로 현수가 송아지의 위치까지 갈 수 있는지 구하는 프로그램을 작성 하세요. ▣ 입력설명 첫 번째 줄에 현수의 위치 S와 송아지의 위치 E가 주어진다. 직선의 좌표 점은 1부터 10,000 까지이다. ▣ 출력설명 점프의 최소횟수를 구한다. 답은 1이상입니다. ▣ 입력예..
문제(출처 : 인프런 자바스크립트 알고리즘 문제풀이 강의, 정보올림피아드) 아래 그림과 같은 이진트리를 넓이우선탐색해 보세요. 넓이 우선 탐색 : 1 2 3 4 5 6 7 Tip 문제풀이 //정답 function solution(){ let answer=""; let queue=[]; queue.push(1); while(queue.length){ console.log(queue); let v=queue.shift(); answer+=v+" "; for(let nv of [v*2, v*2+1]){ if(nv>7) continue; queue.push(nv); } } return answer; } console.log(solution());
문제(출처 : 인프런 자바스크립트 알고리즘 문제풀이 강의, 정보올림피아드) 방향그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프 로그램을 작성하세요. 아래 그래프에서 1번 정점에서 5번 정점으로 가는 가지 수는 12345 125 13425 1345 1425 145 총 6 가지입니다. ▣ 입력설명 첫째 줄에는 정점의 수 N(10); for(let [a,b] of arr){ graph[a].push(b); } function DFS(vertex){ if(vertex === 5){ answer++; } else{ for(let newVertex of graph[vertex]){ if(check[newVertex] === 0){ check[newVertex] = 1; DFS..
문제(출처 : 인프런 자바스크립트 알고리즘 문제풀이 강의, 정보올림피아드) 방향그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프 로그램을 작성하세요. 아래 그래프에서 1번 정점에서 5번 정점으로 가는 가지 수는 12345 125 13425 1345 1425 145 총 6 가지입니다. ▣ 입력설명 첫째 줄에는 정점의 수 N(10); for(let [a,b] of arr){ graph[a][b] = 1; } function DFS(vertex){ if(vertex === n){ answer++; } else{ for(let i = 1 ; i