
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.문제 풀이 두 숫자 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..

1. 코드 분석 p와 y의 개수에 대문자도 해당된다. (toLowerCase메서드를 사용해야한다.) 하나도 없을 경우에도 true 값이 반환된다. 개수가 다를 경우에 false 값이 반환된다. 2. 실행 코드 function solution(s){ const sToLower = s.toLowerCase().split(""); let pNum, yNum; pNum = yNum = 0; for (let seq of sToLower) { if (seq === 'p'){ pNum++; } else if (seq === 'y') { yNum++; } } return pNum === yNum; } 대문자를 모두 toLowerCase메서드를 이용해 소문자로 바꾼 후 split 메서드로 배열에 삽입한다. p와 y의 개..

실행 코드 function solution(s) { return s.split('').sort().reverse().join(''); } s 문자열을 split메서드를 ' '로 사용하면 Zbc => ['Z', 'b', 'c'] 이런식으로 배열로 나눠집니다. 그리고 sort메서드로 정렬한 후 내림차순이므로 reverse메서드로 배열을 바꿔줍니다. 마지막으로 join메서드를 이용해 배열을 다시 문자열로 바꿔줍니다. programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며,..

1. 문제 해석 strings 배열 안의 배열에서 n번째 문자를 기준으로 오름차순을 한다. 문자가 같을 경우 문자열 전체로 따진다. 2. 문제 해결 방법 sort() 메서드를 사용해서 해결해야 한다. arr.sort(정렬 순서 정의하는 함수) 로 되어 있는 경우 정렬 순서 정의하는 함수 = compareFunction(a, b) compareFunction(a, b)의 return 값이 0이면 변경 x compareFunction(a, b)의 return 값이 0보다 크면 b를 a 보다 낮은 인덱스로 정렬 ( a > b) compareFunction(a, b)의 return 값이 0보다 작으면 a를 b보다 낮은 인덱스로 정렬 (a < b) sort의 특징을 이용해서 a와 b를 비교해서 return 값을 ..
- 토마토3차원
- 백준
- smtp error
- 백준 7562 node
- SQL
- JavaScript
- slice
- 534 error
- 로그인
- tolowercase
- nodemailer error
- 바이러스 dfs
- Level 1
- Split
- Express
- 코드테스트
- sort
- nodejs
- Replace
- 숫자야구게임
- 프로그래머스
- 회원가입
- JOIN
- 코딩테스트
- 정규표현식
- AWS
- GROUP BY
- left join
- 백준 7569 node
- 카카오2018[1차]
- Total
- Today
- Yesterday