
1. 문제 2. 문제 풀이 스킬을 배울 때 순서대로 배워야하는데 다 배우지 않아도 주어진 스킬트리에 맞게 되면 count가 올라가고 return값으로 최종 count값을 제출합니다. 여기서 주의할 점은 스킬트리에 없는 스킬만 배워도 count는 올라가야합니다. 왜냐하면 불가능한 스킬트리가 아니기 때문입니다. 3. 제가 푼 코드 스킬을 하나씩 가져와서 정규표현식으로 조건에 맞는 값을 찾는 match메서드를 이용 정규표현식이 아닌 객체를 사용하기 때문에 new RegExp안에 skill과 글로벌의 g를 넣어 이런식으로 나오게 합니다. 그리고 스킬트리에 없는 경우에는 null값이 나와서 while문을 이용해 continue로 생략해주었습니다. 그다음 skill의 처음부터 시작하고 그 값이 배열에서 문자열로 바..

1. 문제 2. 문제 해석 작업 진도를 가진 배열 progresses와 진도율을 가진 배열 speeds가 있다. 100프로가 넘으면 배포가 가능하지만 앞에 있는 순서대로 배포가 가능하다. 그래서 앞의 작업이 끝나야 같이 배포가 가능하고 같은 날에 배포되는 작업들의 갯수를 return값으로 보낸다. 3. 문제 풀이 처음엔 for문과 while문을 섞어서 풀었지만 시간이 많이 걸리는 것을 확인했고 시간복잡도가 생각났다. 그래서 다른 방법을 생각해보았다. 처음엔 shift가 pop보다 오래 걸린다는 생각을 가지고 안썻지만 이번엔 써보았다. speeds의 갯수대로 순서대로 작업을 진행한다. 그리고 100이 넘을 경우 progresses, speeds 배열의 앞을 삭제해준다. 그리고 count를 세어 총 횟수를 ..

1. 문제 2. 문제 풀이 실패율 = 스테이지 도달했지만 클리어 못한 플레이어 수 / 스테이지에 도달한 플레이어 수 N에 스테이지 수가 정해지고 stages배열에 있는 사람들 중 스테이지 당 실패율을 구하여 실패율 기준 스테이지를 내림차순으로 정렬합니다. 마지막 스테이지를 깨면 N+1의 수가 나옵니다. 3. 풀이 방법 이 문제는 sort와 filter를 사용하여 풀어야 조금 더 간단하게 풀 수 있습니다. 1. filter를 이용해 stages배열에서 중복되는 stage를 찾아낸 후 2. 실패율을 구하고 stage와 실패율을 같은 배열에 저장한 후 3. 실패율을 sort를 이용해 순서를 내림차순으로 바꿉니다. 4. 마지막으로 그 stage만 꺼내주면 결과가 나옵니다. 4. 전체 코드 마지막으로 forEac..

1. 문제 2. 문제 풀이 위에서 보다시피 다트는 3번의 기회가 있고 0~10점까지 있습니다. Single, Double, Triple 영역이 존재하고 *와 #이 존재합니다. Single 1제곱 Double 2제곱 Triple 3제곱 * 바로 전 점수와 해당 점수 각각 2배 # 해당 점수 마이너스 총 점수를 반환하면 되는 문제입니다. 여기서 관건은 10점을 어떻게 하는가.. 그리고 *과 #인 것 같습니다. 3. 풀이 방법 일단 score가 10점이 나왔을 경우를 if문으로 빼서 구하고 점수와 S,D,T를 합쳐서 꺼내어 점수를 냅니다. 그리고 *과 #이 나왔을 경우 그에 맞는 계산을 한 후에 빈 배열에 하나씩 넣어준 후 모든 점수를 합쳐주었습니다. 4. 전체적인 코드 1. 문자열을 배열처럼 사용할 수 있다..

1. 문제 2. 문제풀이 비밀지도는 두개로 이루어져 있는데 두 비밀지도를 합치면 암호를 해독하는 지도가 나온다는 내용입니다. 그래서 가로를 기준으로 공백은 0 #이 있는 칸은 1로 되어있어 2진법으로 바꾸어 배열에 삽입되어 있습니다. 그 값들을 합쳐 비밀지도를 해독하고 벽이 있는 부분은 #, 없는 부분은 공백으로 나타내야 합니다. 3. 풀이 방법 저는 일단 arr1과 arr2의 값들을 2진법으로 나타내고 그 값을 합치려고 했으나 javascript는 or연산을 사용하면 2진법으로 계산이 된다는 것을 알게 된 후 or연산을 한 후에 2진법으로 나타냈습니다. 그 다음 1과 0를 #과 공백으로 나타내기 위해 replace와 정규표현식을 이용해 바꿔주었습니다. 4. 전체적인 코드 toString(2)같은 경우는..

1. 문제 2. 문제 해석 마라톤에 참여한 선수들 중 완주하지 못한 선수의 이름을 반환해주는 문제입니다. 여기서 참가자 중에는 동명이인이 있을 수 있습니다. 3. 코드 해석 문제가 해시에 관련된 문제이기 때문에 object를 이용하여 풀이하였습니다. function solution(participant, completion) { const obj = {}; for (let player of participant) { if (obj[player]) { obj[player] += 1; }else { obj[player] = 1; } } for (let finisher of completion) { if (obj[finisher]) { obj[finisher] -= 1; } } for (let player o..

1. 문제 예제 2. 문제 해석 스파이가 가진 의상들이 2차원 배열로 주어지고 그 배열에는 [ 의상이름, 의상종류 ] 로 되어있습니다. 해당하는 의상을 종류로 나누어 여러가지의 조합을 만들어 몇 개의 조합이 나오는지 반환하면 됩니다. 주의할 점은 1개의 의상만 사용하는 것도 포함이며 최소 한 개의 의상을 입는다는 것입니다. 3. 코드 해석 const div = {}; const midArr = []; let divNum; function solution(clothes) { for (let clo of clothes) { if (div[clo[1]] === undefined) { div[clo[1]] = clo[0]; }else { div[clo[1]] += `,${clo[0]}`; } } for(let ..

1.문제 2.문제 풀이 두 숫자 n과 m을 대입하면 그 둘의 최대공약수와 최소공배수를 반환해주면 됩니다. 저는 큰 숫자와 작은 숫자를 구분한 후에 최대공약수와 최소공배수를 구하는 함수를 따로 빼주었습니다. 3. 코드 function solution(n, m) { const arr = []; let minNum = Math.min(n, m); let maxNum = Math.max(n, m); arr.push(max(maxNum, minNum)); arr.push(min(maxNum, minNum)); return arr; } function max (maxNum, minNum) { return (maxNum % minNum) === 0 ? minNum : max(minNum, maxNum % minNum..
- left join
- nodemailer error
- GROUP BY
- 숫자야구게임
- 회원가입
- 바이러스 dfs
- 백준 7569 node
- 백준
- 카카오2018[1차]
- SQL
- JOIN
- Split
- 프로그래머스
- Replace
- sort
- 코드테스트
- JavaScript
- 534 error
- 로그인
- slice
- 코딩테스트
- 백준 7562 node
- smtp error
- 토마토3차원
- Express
- nodejs
- tolowercase
- AWS
- 정규표현식
- Level 1
- Total
- Today
- Yesterday