목록프로그래머스 알고리즘/1단계 (50)
N
programmers.co.kr/learn/courses/30/lessons/12912?language=javascript 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr function solution(a, b) { let answer = 0; if(a > b){ [a, b] = [b, a]; } for(let i = a; i
programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr function solution(array, commands) { let answer = []; commands.filter((val, index) => { answer.push( array.slice(commands[index][0] - 1, commands[index][1]).sort((a, b) => a - b)[ commands[index][2] - 1 ] ); }); return answer; }
programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr filter 함수를 이용하면 간단하게 답을 구할 수 있다. A, B, C가 찍은 답과 정답지를 비교하면서 맞은 개수를 각각 저장한다. 그 중에서 최댓값을 구해서 비교하면서 1, 2, 3을 넣어주면 된다. function solution(answers) { let answer = []; let A = [1, 2, 3, 4, 5]; let B = [2, 1, 2, 3, 2, 4,..
programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr filter 함수를 이용해 answer에 두 수를 더한 결과를 넣어준다. 모두 더했으면 Set으로 바꿔서 중복된 숫자를 바꿔준다. 그리고 바꾼 값을 다시 Array로 바꿔서 오름차순 정리하면 된다. function solution(numbers) { let answer = []; numbers.filter((val, index)..
programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 입력으로 받은 두 배열을 오름차순으로 정렬. 참가자의 인덱스에 위치한 이름과 완주한 선수의 인덱스에 위치한 이름이 같지 않으면 그 선수가 완주하지 못한 선수이다. function solution(participant, completion) { let answer = ''; participant.sort(); completion.sort(); for(let ..
programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr filter 함수를 이용해 divisor로 나누어 떨어지는 수만 answer에 저장. 만약 answer가 비어있다면 [-1]을 리턴, 아니라면 sort를 이용해 오름차순으로 정렬해서 리턴한다. function solution(arr, divisor) { let answer = arr.filter((val) =..
문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. #include #include using namespace std; int solution(vector a, vector b) { int answer = 0; for(int i = 0; i < a.size(); i++) answer += a[i] * b[i]; return answer; }
문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 nresult 45 7 125 229 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n (10진법)n (3진법)앞뒤 반전(3진법)10진법으로 표현 125 11122 22111 229 따라서 229를 return 해야 합니다. 수를 3진법으로 변환할..