본문 바로가기

Algorithm2

제일 작은 수 제거하기(배열의 재정렬을 경계해야 하는 이유) # 문제 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. # 입력 예 [4,3,2,1] # 출력 예 [4,3,2] # 입력 예2 [10] # 출력 예2 [-1] # 풀이과정 첫 풀이는 arr를 sort로 내림차순으로 정렬 후, 배열의 맨 뒤 요소를 제거하는 pop 메서드로 제거 후, 남겨진 값을 반환했는데, 테스트 하는 과정에서 통과가 되지 않았다. 그 후에, filter 메서드를 사용해서 arr의 가장 작은값과 같지 않은 값들을 가진 새로운 배열을 반환하는 식.. 2023. 2. 11.
[4방향 탐색] 봉우리 # 문제 각 요소는 그 지역이 높이이다. 요소의 상하좌우의 값이 해당 요소보다 작다면 해당 요소는 봉우리 지역이다. 봉우리 지역에 해당하는 요소의 갯수는 몇 개인지 알아내는 프로그램을 작성하시오. # 입력값 let arr = [ [5, 3, 7, 2, 3], [3, 7, 1, 6, 1], [7, 2, 5, 3, 4], [4, 3, 6, 4, 1], [8, 7, 3, 5, 2], ]; # 풀이 function solution(arr) { let answer = 0; let length = arr.length; // 상하좌우 순 let dx = [0, 0, -1, 1]; let dy = [-1, 1, 0, 0]; // --(2) for (let i = 0; i < length; i++) { for (let .. 2023. 2. 3.