sort() 20

LV0 78 등수 매기기

문제 설명 - 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ score[0], score[1] ≤ 100 1 ≤ score의 길이 ≤ 10 score의 원소 길이는 2입니다. score는 중복된 원소를 갖지 않습니다. 입출력 예 score result [[80, 70], [90, 50], [40, 70], [50, 80]] [1, 2, 4, 3] [[80, 70], [70, 80], [30, 50], [90, 100], [100, 90], [100, 100], [..

LV0 76 삼각형의 완성조건(2)

문제 설명 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다. 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. 삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요. 제한 사항 sides의 원소는 자연수입니다. sides의 길이는 2입니다. 1 ≤ sides의 원소 ≤ 1,000 입출력 예 sides result [1, 2] 1 [3, 6] 5 [11, 7] 13 나만의 풀이 이 문제는 처음에는 for문을 이용하여 문제를 풀었다. 먼저 이 문제는 큰 수에 포커스를 맞추어 문제를 진행해야 하는데 sides 매개변수 배열 중 큰 숫자의 index가 어딘..

LV0 66 외계어 사전

문제 - PROGRAMMERS-962 행성에 불착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 spell과 dic의 원소는 알파벳 소문자로만 이루어져있습니다. 2 ≤ spell의 크기 ≤ 10 spell의 원소의 길이는 1입니다. 1 ≤ dic의 크기 ≤ 10 1 ≤ dic의 원소의 길이 ≤ 10 spell의 원소를 모두 사용해 단어를 만들어야 합니다. spell의 원소를 모두 사용해 만들 수 있는 단어는 dic에 두 개 이상 존재하지 않습니다. d..

LV0 64 가까운 수

문제 - 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 입출력 예 array n result [3, 10, 28] 20 28 [10, 11, 12] 13 12 나만의 풀이 이 문제는 시간이 조금 걸렸다. 우선 반복문으로 array.length만큼 반복하게 한 후 if 문을 이용해 array[i] - n의 절대값들을 비교하게 만들었다. 그러기 위해선 변수로 array의 원소와 절댓값이 들어갈 변수를 선언했다. 그 후 선언되어 있는 절댓값 변수보다 새롭게 array[i] - n 절댓값이 더 작으면 선언되어 있는 두 변수에 array[i]와 array[i] - n 절대값을 넣는다. 그렇게 ..

LV0 56 A로 B 만들기

문제 - 문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return 하도록 solution 함수를 완성해주세요. 입출력 예 before after result "olleh" "hello" 1 "allpe" "apple" 0 나만의 풀이 처음에는 이 문제를 어떻게 풀어야 하나 감이 안 잡힌 상태로 문제만 바라 보았다. 비교를 하는 방법이 뭐가 있을까 계속 고민하는 중 before, after 배열로 바꾼 후 sort()를 이용해 알파벳순으로 정렬하고 for문과 if문을 이용해 새롭게 선언한 배열에 같은 위치에 같은 알파벳이 존재하면 push한 후 before과 새로운 배열에 length를 비교하여 삼항 연산자를 이용해 같다면 1을..

LV0 34 중앙값 구하기

제목 - 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. 입출력 예 array result [1, 2, 7, 10, 11] 7 [9, -1, 0] 0 나만의 풀이 이 문제는 배열의 중앙값을 출력하는 것인데 배열의 길이는 홀수로 주어진다는 조건이 있다. 우선 배열을 오름 차순이나 내림 차순으로 재 정열한 뒤 배열 중앙에 올 원소를 출력한다. 출력하기 위해선 위치를 알아야 하므로 배열의 '길이 / 2'한 뒤 소수점을 버리면 된다. function solution(array) { const ..

LV0 30 삼각형의 완성 조건 (1)

문제 - 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다. 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. 삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return 하도록 solution 함수를 완성해주세요. 입출력 예 sides result [1, 2, 3] 2 [3, 6, 2] 2 [199, 72, 222} 1 나만의 풀이 이 문제는 가장 긴 한 변의 길이보다 남은 두 변의 길이의 합이 길면 삼각형이 되므로 1을, 같거나 두 변이 짧으면 삼각형이 안 되므로 2를 리턴하면 된다. 그래서 배열을 sort()를 이용해 내림차순으로 정렬을 하고 0, 1번째를 더한 후 2보다 ..

LV0 19 최댓값 만들기 (1)

문제 - 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return 하도록 solution 함수를 완성해주세요. 입출력 예 numbers result [1, 2, 3, 4, 5] 20 [0, 31, 24, 10, 1, 9] 744 나만의 풀이 - 저는 이 문제를 다양하게 풀 수 있다고 생각한다. 그래서 너무 생각이 많아서 오히려 오래 걸린 문제인 것 같다. 처음에는 배열 안에 있는 배열의 원소 중 큰수 2개를 곱하는 거니 배열에서 가장 큰 수를 구라고 배열에서 뺀 후 다시 큰 수를 구하면 큰 수 2개가 구해진다. 그렇게 구한 2 숫자를 더하고 리턴하면 결과는 나오지만 코드가 불필요하게 길게 나온다. 그렇다면 다른 방법은 배열을 크기 순서대..

LV0 16 문자열 정렬하기(2)

문제 - 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 입출력 예 my_string result "Bcad" "abcd" "heLLo" "ehllo" "Python" "hnopty" 나만의 풀이 이 문제는 LV0 14번의 조금 업그레이드 버전인 느낌이다. 코드의 순서를 말하면 문자열을 toLowerCase()로 소문자로 바꾼 후 split('')로 알파벳 하나 씩 분리한다. sort()로 알파벳 순서로 정렬한 후 join('')을 이용해 합친다. function solution(my_string) { return my_string.toLowerCa..

LV0 11 머쓱이보다 키 든 사람

문제 - 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. 입출력 예 qrrqy height result [149, 180, 192, 170] 167 3 [180, 120, 140] 190 0 문제 풀이 - 이 문제도 간단했다. array 매개변수에 머쓱이의 키를 넣고 배열을 내림차순으로 정렬한 후 머쓱이가 몇 번째에 있는지 찾으면 되는 문제!! 내장함수로 배열.sort((a, b) => b - a);를 이용해 내림 차순으로 정렬하고 indexOf()를 이용해 위치를 찾았다!! func..