JavaScript 223

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 15 약수 구하기

문제 - 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return 하도록 solution 함수를 완성해주세요. 입출력 예 n result 24 [1,2,3,4,6,8,12,24] 29 [1,29] 나만의 풀이 우선 이 문제를 풀기 위해선 약수가 무엇인지 알아야한다. 약수란 자신 이하의 숫자로 나누었을 때 나머지가 0이 나오는 것을 의미한다. 그렇다면 간단하게 for과 if문을 이용해서 풀 수 있다. 그리고 if문이 실행될 때 변수로 만들어진 배열에 push 하면 된다. function solution(n) { let answer = []; for (let i = 0; i

LV0 14 문자열 뒤집기

문제 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return 하도록 solution 함수를 완성해주세요. 입출력 예 my_string return "jaron" "noraj" "bread" "daerb" 나만의 풀이 이 문제는 간단하게 주어진 문자열을 뒤집으면 되는 것이다. 매개변수로 받는 문자열을 split('')를 이용해 하나하나 분리한 후 reverse()로 뒤집은 뒤 join('')로 합쳐주면 끝이었다. 이것 또한 화살표 함수로 줄일 수 있으나 길이가 길어져 그냥 함수 선언식으로 코드를 구성했다. function solution(my_string) { const answer = my_string.split('').reverse().join('');..

LV0 13 세균 증식

문제 - 어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return 하도록 solution 함수를 완성해주세요. 입출력 예 n t result 2 10 2048 7 15 229,376 나만의 풀이 - 제목에 긴장을 했는데 다행히 어렵지 않았다. 간단하게 이야해면 2에 2의 t승을 곱하면 되는 간단한 문제였다. 그래서 처음에는 단순하게 풀어보았다. function solution(n, t) { const time = 2 ** t; let answer = n * time; return answer; } 그런데 문제 식에 비해 코드 길이도 길다는 생각이 들어 화살표 함수를 이용해서 줄여보았다. const solution =..

LV0 12 짝수 홀수 개수

문제 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 입출력 예 num_list result [1,2,3,4,5] [2,3] [1,3,5,7] [0,4] 나만의 풀이 이 문제는 함정이 있다. 짝수가 먼저라는 것이다. 저는 초음에는 배열을 3개 만들고 반복문과 조건문을 이용해서 짝수를 넣는 배열과 홀수를 넣는 배열을 나누어 각 배열의 개수를 리턴 할 함수에 넣은 후 리턴하는 식으로 풀었다. function solution(num_list) { let answer = []; let oddNum= []; let EvenNum= []; for (let i = 0; i < num_list.len..

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..

LV0 10 분수의 덧셈

문제 : 첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 입출력 예 : denum1 num1 denum2 num2 result 1 2 3 4 [5, 4] 9 2 1 3 [29, 6] 이번 문제는 어려웠다 ㅜㅜ 처음에는 조건문으로 접근을 했는데 경우의 수가 너무 많고 분수의 성질 상 8/16이라는 값이 나오면 1/2로 만들어야 한다. 그런데 그렇게 만들기 위해선 조건문에 반복문을 넣고 또 반복문 안에 조건문을 넣어야 했다. 그런데 그렇게 하면 코드가 너무 무거워진다는 단..

LV0 09 가장 큰 수 찾기

문제 : 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 입출력 예 : array result [1, 8, 3] [8, 1] [9, 10, 11, 8] [11, 2] 나만의 문제 풀이 확실히 간단했다. 배열의 가장 큰 수와 몇 번째 있는지 찾으면 되는 문제였다. 이번 문제는 분명히 내장 함수가 있다고 생각해서 구글링을 해서 문제를 풀었다. 우선 배열의 가장 큰 수 찾기는 Math.max.apply(null, 배열 명)으로 위치 찾기는 배열 명 .indexOf(위치를 알고 싶은 데이터)를 이용해서 풀었다~~ function solution(array) { const maxValue = Math.max.app..

LV0 08 배열 원소의 길이

문제 : 문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 retrun 하도록 solution 함수를 완성해주세요. 예 strlist result ["We", "are", "the", "world!"] [2, 3, 3, 6] ["I", "Love", "Programmers."] [1, 4, 12] 이번 문제도 간단했다. 문제를 쉽게 이해하면 '배열 안에 단어들의 길이를 구하라'였다. 그래서 반복문을 이용해서 배열 안에 있는 단어들을 꺼내어 length를 이용해 길이를 구하고 그것을 [] 안에 push 하면 되는 것이었다. 그래서 나의 답은 function solution(strlist) { let answer = []; for (let i = 0; i < s..

LV0 07 피자 나눠 먹기 (3)

문제 - 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 입출력 예 slice n return 4 12 3 7 10 2 다행이 이 문제도 쉬워서 다행이였다. 이 문제는 다양한 코드를 구성하기 보다는 간단한 수학에 가까웠다. 사람보다 비자 조각이 이상이여야 되며 조각은 따로 살 수 있는 것이 아니라 1판을 사야하는 거니깐 사람 수의 비자를 나누고 올림을 하면 필요한 피자의 수가 나온다는 것!!! 그래서 코드는!! const solution = (slic..