https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 해결방법 1. 1부터 N까지의 숫자 i를 stages의 숫자와 비교해 i보다 크거나 같으면 도전자 +1, 같으면 실패 유저 +1로 카운트 2. 각 스테이지별 실패율 계산하여 all_failure_rate에 저장 3. 스테이지에 도달한 유저가 없는 경우 즉, 도전자가 없는 경우 실패율은 0으로 4. all_failure_rate 에 저장한 실패율의 내림차순으로 스..
https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 해결방법 1. 키패드의 숫자를 [행,열]로 정의하고 오른손/왼손 엄지손가락의 위치 초기값도 [행,열]로 정의 2. 1, 4, 7을 입력할 때는 무조건 왼손, 3, 6, 9를 입력할 때는 무조건 오른손 3. 2, 5, 8, 0을 입력할 때는 현재 오른손/..
https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 해결 방법 1. signs의 i번째가 true면 absolutes의 i번째 요소를 answer에 누적하여 더하고 false면 -1을 곱한 후 더한다 풀이 1 function solution(absolutes, signs) { var answer = 0; for (let i = 0; i < signs.length; i++){ if (sign..
https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. programmers.co.kr 해결 방법 1. for문으로 0부터 9까지의 숫자를 i에 대입하고 i가 numbers에 포함되어 있지 않으면 answer에 누적하여 더한다 풀이 function solution(numbers) { var answer = 0; for (let i = 0; i < 10; i++){ if (numbers.includes..
https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 해결방법 1. 잡을 수 있는 포켓몬의 수를 can_get에 저장하고 배열의 중복 제거 2. 중복 제거한 배열의 길이가 can_get보다 크면 can_get 반환, 아니면 배열의 길이 반환 풀이 function solution(nums) { var answer = 0; let can_get = nums.length / 2; nums = [...new Set(nu..
https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 해결방법 1. numbers에서 서로 다른 인덱스에 있는 두 수를 더해 answer에 추가 2. 중복제거 후 오름차순 정렬 풀이 function solution(numbers) { var answer = []; for (let i = 0; i < numbers.length; i++){ for (let j = 1; ..
코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 해결방법 1. 각 배열을 정렬 2. 요소 값을 비교하다 값이 다른 경우 해당 요소를 반환 풀이 function solution(participant, completion) { participant.sort(); completion.sort(); for(let i = 0; i < participant.length; i++){ if(participant[i] !== completion[i]){ return participant[i]; } } } ..
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 해결방법 1. 문제 길이 만큼 각 수포자들의 답안(배열) 만들기 2. 문제와 답안이 일치할 때마다 +1씩하여 수포자들의 정답수 체크 3. 그 배열의 최대값과 일치하는 학생을 answer에 추가 풀이 function solution(answers) { var answer = []; let supo_1 = []; let supo_2 = []; let supo_3 =..