알고리즘/코딩 테스트
-
[코딩 테스트] 누적합 - 백준 11659 구간 합 구하기 4, 2559 수열, 10986 나머지합알고리즘/코딩 테스트 2023. 1. 27. 14:09
1. 11659 구간 합 구하기 4 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. const fs = require('fs'); const path = require('path'); const filePath = process.platform === 'linux' ? '/dev/stdin' : path.join(__dirname, '/구간합.txt'); const input = fs.readFileSync(filePath).toString().trim().split('\n'); //N : arr length M: 횟수 const [N,M] = input[0].split(' ').map(v => +v); const arr = input[1].split(' ').m..
-
[코딩테스트 javascript] 안전지대 - DFS , BFS, 그래프 탐색 알고리즘알고리즘/코딩 테스트 2023. 1. 26. 14:26
안전지대 https://school.programmers.co.kr/learn/courses/30/lessons/120866 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음 그림과 같이 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다. 지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다. 지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하도록 solution 함수를 완성..
-
[코딩 테스트] 프로그래머스 JS 연습 - 연속된 수의 합, 평행, 최빈값 구하기,겹치는 선분의 길이,옹알이알고리즘/코딩 테스트 2023. 1. 24. 16:39
1. 연속된 수의 합 문제 설명 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요. function solution(num, total) { const min = (total / num) - (num-1)/2 return new Array(num).fill(min).map((v,i)=> v+i) } 처음 이 문제를 풀었을 때, 가운데 숫자를 Math.floor(total/num)으로 구한 뒤 arr에 push하는 방식으로 풀었다. 하지만 , 이 문제는 min부터 하나씩 더하는 것이 좋다. 참고로! new Ar..
-
[코딩 테스트] 프로그래머스 JS 연습 - 다음에 올 숫자,특이한 정렬,문자열 밀기,치킨쿠폰,등수 매기기,캐릭터의 좌표알고리즘/코딩 테스트 2023. 1. 23. 16:21
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 0. 다음에 올 숫자 문제 설명 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요. function solution(common) { //등차 수열 let 차이 = common[1] - common[0] === common[2] - common[1] ? common[1] - common[0] : false; if (차이 !== false) return common.at(-1) +차이; if (차이 === fals..
-
[코딩 테스트] 프로그래머스 JS 연습 - A로 B 만들기,2차원으로 만들기 ,소인수분해,외계어 사전,삼각형의 완성 조건(2),가까운 수, 공던지기알고리즘/코딩 테스트 2023. 1. 19. 13:16
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. A로 B 만들기 문제 설명 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요. function solution(before, after) { const arr = before.split(''); for (let i =0; i < after.length;i++) { arr[arr.indexOf(after[i])] =""; } return arr.join('')..
-
[코딩 테스트] 프로그래머스 JS 연습 - 이진수 더하기,잘라서 배열로 저장,중복된 문자 제거,구슬을 나누는 경우의 수알고리즘/코딩 테스트 2023. 1. 18. 18:49
1. 이진수 더하기 문제 설명 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요. function solution(bin1, bin2) { return (parseInt(bin1,2) + parseInt(bin2,2)).toString(2) } 2진수를 10진수로 만들 때 parseInt를 사용하고, 10진수를 2진수로 만들 때 toString을 사용한다. 2. 잘라서 배열로 저장 문제 설명 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요. function solution(my_str, n) { var a..
-
[코딩 테스트] 프로그래머스 JS 연습 - 개미군단, 숨어있는 숫자의 덧셈, 직각삼각형 출력하기, 암호해독, 대문자와 소문자알고리즘/코딩 테스트 2023. 1. 17. 19:41
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 개미군단 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요..
-
[코딩 테스트] 프로그래머스 JS 연습 - 각도기, 짝수홀수 개수, 최댓값 만들기(1), 특정 문자 제거알고리즘/코딩 테스트 2023. 1. 16. 15:11
https://school.programmers.co.kr/learn/courses/30/lessons/120829 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 각도기 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 예각 : 0 x { var arr = [0,0] num_list.forEach(x => arr[x%2] +..