1부터 n의 제곱근까지 반복한다. 만약 현재 순회하는 요소가 n의 약수라면 n 나누기 현재 요소의 몫과 현재 요소를 더한다. 단, 현재 순회하는 요소가 n의 제곱근이라면 현재 요소 한번만 더해준다.
0은 JS에서 false값으로 인식하기 때문에 나머지가 0이라면, 즉 거짓이라면, 'Even', 1이라면 즉, 참이라면 'Odd'를 반환한다.
N을 문자열로 바꾼뒤 배열로 바꾸고 reduce메소드를 사용해서 모든 요소를 순회하면서 모든 요소를 누적하여 더한 뒤 이 값을 반환한다.
평균은 모든 요소의 합을 요소의 개수로 나누어주면된다.
나머지가 1인 가장 '작은 수'를 찾아야 하므로, 확인하는 요소를 1로 초기화한다. 무한 루프 안에서 현재 요소로 n을 나누었을 때 1이면 현재요소를 반환하고, 그게 아니라면 현재요소를 +1해준다.
등차수열 일반항에 대입해보면 an = x + (n-1)x이다.여기서 첫번째 항부터 n번째 항을 배열에 추가하면된다.
숫자 n의 각 자리별 숫자를 배열에 집어넣기 위해 문자열로 바꾼뒤, 구조분해할당해서 배열로 넣어준뒤, 이 배열을 순회하여 다시 숫자로 바꿔준다. 그 다음 reverse메소드를 사용해서 요소들의 순서를 뒤집는다.
대소문자 구별을 안하므로 대문자로 바꾼뒤, 각각의 요소를 배열로 만들었다. filter후 length로 개수 확인하는 방식으로 P와 Y의 개수를 알아낸 뒤, 이 두값을 비교했다.
문자열을 정수로 바꾸기 위해 Number메소드를 사용했다.
n의 제곱근이 정수라면, 이 정수가 x가 된다. n의 제곱근이 정수인지 실수인지 판별하려면n의 제곱근과 n의 제곱근에서 소수점을 버린 값이 같은지 판별하면된다.이 두값이 같다면, 어떤 수의 제곱이라는 뜻이다.
숫자를 각 자리의 숫자로 흩뿌린채 배열을 만들고자, 문자열로 바꾼뒤 배열로 만들었다. 이 배열을 내림차순으로 정렬한뒤, 문자열로 바꾸고나서 이 값을 숫자로 바꿨다.
모든 자리의 합을 구한뒤, X를 이 합으로 나누었을 때 나머지가 0이면 true 아니면 false를 반환한다. 일의자리를 제외한 값으로 x를 갱신하고 싶을 때, 소수점을 내리지 않으면 소수가 들어갈 수 있다.
두 정수 중 큰값과 작은값을 구한뒤, 작은 값부터 큰값까지 모든 숫자를 더해서 반환한다.
만약 n이 1이면 0을 반환한다.1부터 500까지 반복하면서 n을 반복해나간다.현재 n이 짝수면 2로 나눈 값으로 n을 변경하고, 홀수면, nx3+1로 값을 변경한다. 이렇게 변경된 n이 1이라면 현재 몇번째 반복중인지 횟수를 반환한다.반복문을 빠져나왔다는 말은 500
seoul배열에서 indexOf를 이용해서 kim의 인덱스를 찾고, 백틱으로 문자열을 반환한다.
filter로 divisor로 나누어 떨어지는 요소만 남기고 sort로 오름차순하여 최종 배열을 만든다. 이배열의 길이가 0이면 -1, 그렇지 않다면 새로 만든 배열을 반환한다.
absolutes를 reduce해서 요소들의 합을 구한다.단, signs의 해당 인덱스가 false라면 현재의 요소에 마이너스 부호를 붙여준 것으로 바꾼뒤 합한다.
별표는 폰넘버 길이 - 4만큼 반복된다.폰넘버의 마지막 숫자 4자리는 폰넘버 길이 - 4인덱스부터 끝까지 추출하면된다.
0부터 9까지의 합은 45이다. 45에서 현재 numbers의 모든 요소의 합을 빼면 없는 숫자을 모두 더한 값이 나온다.
arr배열의 길이가 1이라면 -1을 반환한다.smallValueAndIndex 변수에 \[arr0, 0]으로 초기화한다. smallValueAndIndex는 지금까지 가장 작은 값과 그 값이 몇번째 인덱스에 있는지 저장하는 배열이다. 1번째 인덱스부터 arr.lengt
s의 길이 /2를 내림값을 구해서 index변수에 할당한다.만약 s의 길이가 짝수라면 위에서 구한 index의 -1 ~ index이 두글자를 추출해서 반환한다. s의 길이가 홀수라면 sindex를 반환한다.
수박은 두글자이다.길이가 3이라면 3/2 =1개의 수박이 나타나고, 나머지가 1이므로 수를더한다. 길이가 짝수라면 수를 더하지 않는다.
참고 ) reduce https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reducea배열에서 reduce를 써서 현재 인덱스로 b에서 값을 찾고, 이것을
numberOfDivisors 함수는 약수의 개수를 반환해주는 함수이다. 이 함수는 1부터 매개변수 x까지 배열을 만들고 각각의 요소에 1,2,3...,x로 채운 뒤, 이 배열을 순회하여 x의 약수인 것만 남기고 이 남은 요소의 개수를 반환하는 함수이다.left부터 r
sort를 이용해서 내림차순으로 정렬한 뒤, 문자열로 바꿔서 반환한다.
totalPrice는 최종적으로 필요한 값이다. 1부터 count까지 순회한다. (count번 놀이공원에 가는 거니까.)놀이공원에 해당 요소번째에 갈 때 가격을 구한다. 가격은 현재 몇번째인지 X 맨 처음 가격인 price이다. 이것을 더해나간다.현재 가지고 있는 돈이
모든 요소가 숫자로 되어있는지 판별하기1\. 구조분해 할당해서 모든 요소를 배열에 하나씩 넣는다. 2\. filter메소드를 이용해서 해당 요소를 숫자로 만들고 이 값이 정수인것만 뽑아낸 뒤 이것의 개수를 구한다.3\. 2에서 구한 개수가 원시 문자열의 길이와 동일하다
arr1의 모든 요소를 하나씩 접근하여 같은 인덱스에 해당하는 arr2의 요소를 더한 값으로 arr1요소들을 바꿔나간뒤, 순회를 마치고 arr1을 반환한다.
세로의 길이인 m번 순회한다.순회되는 동안 '\*'.repeat(n)을 출력한다.
m,n중 더 작은 수부터 1까지 1씩 줄어들면서 m,n의 공통 약수이면 그 수가 최대공약수이다.m,n중 더 큰 수부터 mXn까지 1씩 증가하면서 m,n의 공통 배수이면 그 수가 최대공배수이다.
전의 arr 요소 중 연속 동일한 숫자가 무엇인지 알기 위해 preValue에 저장했다.answer배열은 마지막에 반환할 배열이다. answer배열에 arr0값을 넣는다. arr0은 무조건 들어가야 하기 때문이다.preValue를 arr0으로 초기화한다.arr1번째 인
참고) 10진수에서 n진수로 변환하는 방법 : 숫자.toString(n)n진수에서 10진수로 변환하는 방법 : parseInt(숫자,n)
업로드중..s를 공백기준으로 나눈뒤 배열을 만든다.각각의 문자를 순회한다.해당 문자를 이루는 스펠링의 인덱스가 짝수이면 대문자로 바꾸고, 홀수이면 소문자로 바꾼다.
d를 오름차순으로 정렬한다. 요구한 금액이 적은 부서부터 지원을 해줘야 최대한 많은 부서에 지원해줄 수 있기 때문이다.d를 순회하면서 요구한 금액을 더한다.현재 요구한 금액이 예산보다 작거나 같은 것만 걸러낸다.남아있는 요소의 길이를 세고 이것을 반환한다.
문제를 정리하면, 3개의 숫자를 골라서 이것의 합이 0이 되는 조합이 몇개인지 반환하는 문제이다. number배열을 작은 숫자부터 정렬을 했다.하나 요소를 딱 정한다음 그 나머지 요소들 중에 두개의 합이 하나의 요소에 마이너스 부호가 된 값이여야 한다. 나머지 요소 들
뽑아내는 수의 마지막인덱스는 p.length -1 부터 t.length-1까지이다. 뽑아내는 수의 첫번째 인덱스는 : 해당 수의 마지막인덱스 - (p.length -1)이다.마지막인덱스를 기준으로 반복문을 돌려서수를 뽑아낸다. 이 수와 p를 비교해서 이 수가 p보다 작
문제 나의코드 로직흐름
lowerCase : 소문자 a~zupperCase : 대문자 A~Zs를 배열로 만들어서 순회를 한다. 만약 현재 요소가 공백이라면 요소를 바꾸지 않는다.현재 요소가 대문자인지 소문자인지 파악한다.대문자라면 upperCase에서 소문자라면 lowerCase에서 해당 요
matchingObj : 문자열 숫자를 키로 두고, 숫자를 값으로 두어진 obj이다.matchingObj의 key들을 순회하면서 s에서 현재 순회중인 key를 모두 숫자로 바꾸면서 s를 업데이트한다.순회를 마치고 변경된 s를 반환한다.
leftIndex, centerIndex, rightIndex를 정한다.leftIndex하나를 고정으로 두고 그 안에서 centerIndex를 고정으로 두고 rightIndex를 움직이는 반복을 끝까지 한다. 해당 인덱스들의 합이 소수라면 카운트한다. 모든 순회를 마치
arr1 각각의 요소를 2진수로 바꾼 배열 newArr1을 만든다. 단, newArr1의 모든 요소는 n의 자리인 2진수여야 한다. 바꾼 2진수의 길이가 n개보다 작다면 부족한만큼 앞에 0을 붙인다. 마찬가지로 arr2에서도 위와 동일한 방법으로 newArr2를 만든
n번째 인덱스로 오름차순 정렬을 한다. 만약 n번째 인덱스의 값이 같다면, 문자열을 비교해서 사전순으로 정렬을 한다.
numbers에서 두개의 요소를 선택하고 이것의 합을 배열에 저장해나간다.이 배열을 Set Object를 이용해서 동일 요소를 제거한뒤, sort를 이용해서 오름차순으로 정렬한다.
0인덱스부터 s.length-1까지 순회를 한다. s에서 가장 첫번째 요소부터 현재 인덱스 바로 직전까지 뽑아 낸 뒤, 여기서 해당 요소를 찾는다. 여기서 가장 마지막 인덱스를 반환한다. 만약 없으면 -1을 반환한다.만약 찾은 인덱스 값이 -1이라면 바로 result배
반환값은 0을 기준으로 뒤집은 모습이다. 따라서, 0을 기준으로 왼쪽 문자열을 leftResult로 놓는다.food의 1번째 인덱스부터 인덱스를 i라 놓고 끝인덱스까지 순회한다.i가 몇번 반복되냐면, Math.floor(foodi/2)번 반복된다. 따라서 i를 문자열로
name의 각 그리움 점수를 Map object에 저장한다.1.에서 Map object에 저장할 때, 만약 name과 yearning의 배열의 길이가 다르다면, yearning이 없는 값은 0을 저장한다. photo에 map메소드를 사용해서 각각의 요소의 그리움 합을
lowHonor : 명예의 전당에서 가장 작은 점수가 들어있는 배열arrayOfHonor : 명예의 전당 0번째 인덱스부터 score.length -1인덱스까지 반복한다.만약 명예의 전당의 배열길이가 k(= 명예의 전당 요소의 개수)보다 작다면,\-- arrayOfHo
howManyDays : 1월부터 12월까지 일수가 들어있는 배열daysOfweek: 목, 금, 토, 일... 반환해야 하는 요일이 들어있는 배열.단, 1번째 인덱스를 금요일로 뒀다. 그 이유는 총 일수를 7로 나누었을 때의 인덱스를 이용해서 곧바로 값을 반환하기 위해
n번째 숫자의 인덱스는 n-1이다.따라서 array의 n번째 숫자부터 m번째 숫자까지 자르기 위해 slice을 이용한다면 array.slice(n-1, m)이다.commands를 순회한다. 순회중인 요소가 command라면, array.slice(command0-1,
전형적인 스택관련 문제이다. 스택 answer를 만들어 가장 마지막 요소와 순회중인 배열 arr의 요소를 비교하고, 이 값이 다르면 스택 answer에 현재의 arr요소를 추가한다.