정렬

문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42577?language=javascript# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 해당 문제는 해시를 이용한 풀이가 정론이다. 각 문자별 해시테이블을 만들어준 뒤 phone_book의 요소들을 순회하며 문자를 slice 해가며 해시테이블에 존재하는지 확인한다. 이게 정론이지만 해당 문제는 sort 정렬을 이용해 쉽게 해결이 가능하다. sort()를 이용하면 가장 첫자리 부터 끝자리 까지의 수와 전체 크기를 비교해 ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 문제는 정렬과 XOR, 배열 요소의 합을 얼마나 잘 사용할 수 있는지를 검증하는 문제였던거 같다. 코드 const solution = (data, col, row_begin, row_end) => { let answer = 0; let arr = data.sort((a, b) => a[col-1] === b[col-1] ? (b[0] - a[0]) : a[col-1] ..
문제 설명 문제 풀이 방법 Map 객체를 이용해 중복되는 사이즈의 귤 개수를 구한 뒤, 배열화 하여 sort로 큰 사이즈 순으로 정렬해 k 만큼 귤 개수를 채울 만큼 카운트를 늘려나간다. 코드 function solution(k, tangerine) { let freq = new Map(); let answer = 0; tangerine.forEach(e => freq.set(e, (freq.get(e) || 0) + 1)); const arr = [...freq].sort((a, b) => b[1] - a[1]).map(e => e[1]); while(k > 0){ k -= arr.shift(); answer++; } return answer }
문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 사항 n은 1이상 8000000000 이하인 자연수입니다. 문제 풀이 방법 number타입으로 입력이 들어오기에 내가 원하는 배열에서 비교를 하기위해 해체할당으로 배열에 할당한다. 그리고 각 요소들을 숫자 타입으로 바꾸기 위해 1을 곱해주고 이후 sort 메서드를 이용해 비교해 준다. 이후 join 메서드를 이용해 문자열로 만들어 준뒤 1을 곱해줘 number 타입으로 변환시켜준다. 코드 function solution(n) { return [...(n+"")].map(e => e*1).sort(..
문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 문제 풀이 방법 이 문제는 주어진 문자열 s를 정렬하는 것으로 대문자는 소문자보다 작은 것으로 간주한다. 기본적으로는 대문자가 더 앞으로 정렬되며, abc... 순으로 정렬되므로 순서를 한번 뒤집어준다. 그리고 나온 배열을 문자열로 합쳐주면 된다. 내가 작성한 코드 const solution = (s) => { return s.split('').sort().reverse().join(''); }
문제 설명 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한 사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 문제 풀이 방법 주어진 배열을 내림 차순으로 정렬한다. i 번째 논문이 i+1 보다 같거나 큰 i의 수를 찾아 반환 코드 function solution(citations) { let i=0; citations.sort((a,..
58청춘
'정렬' 태그의 글 목록