두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한사항 : a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 이 문제.... 뭔가 예전에 풀었던 것 같은데 왜 안풀려있을까... 의문을 가지면서 풀었다. 해당 문제를 풀때, 중요하게 생각했던 부분은 대소관계가 정해져있지 않다는것으로, 먼저 이 부분을 정해야겠다. 싶었다. 접근한 방식은 아래와 같다. 1. a와 b가 같을 경우에는 a를 리턴하기 2. a와..
약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한사항 : n은 0 이상 3000이하인 정수입니다. 약수찾기는 예전에 혼자 풀어본적이 있어서 어렵지 않았다. 약수는 어떤 수를 나누어떨어지게 하는 수이니, 나눴을때 0인 숫자가 그 숫자의 약수인것이다. 쉽게 이해하면 나머지가 0인 숫자들을 찾으면 된다. 나머지 연산자인 %를 이용하면 아주 쉽다! 1. 1씩 증가하는 반복문 만들기(! 1부터 시작해야함 !) 2. 입력된 값에 i의 나머지가 0인지를 확인한다. 3. 만약 값이 0이라면 변수에 해당 값을 더한다. function solution(n) { var answer = 0; for(let i=1; i
자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한사항 : n은 10,000,000,000이하인 자연수입니다. 예전에 풀었던 문제라 뭔가 비슷한 느낌이라 금방 풀었다! 얼른 1단계를 전부 풀고 2단계로 올라가고싶은데 이런 쉬운문제도 있지만 어려운 문제는 여전히 여러워서 슬프다😭 문제를 풀었던 방법은 아래와 같다. 1. 자연수를 문자열로 타입 변환하기 2. 변환한 값을 하나씩 잘라 배열에 넣기 3. 반복문을 통해 배열에 넣은 값을 하나씩 빼서 자연수로 변환하기 4. 변환된 값을 앞에서부터 배열에 밀어넣기 function solution(n) { var answer = []; let a..
체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작..