최대값과 최소값을 구한 다음 문자열로 만들어줍니다.
문자열을 가져올 때 split()이나 정규식을 이용해서 가져올 수 있습니다. 정규식을 사용한다면 함수로 값을 변환해 주어야 하고, split()을 사용한다면 첫번째 값을 가져올 때 charAt()를 사용해 줘야 합니다. 인덱스를 사용하면 런타임 오류가 납니다.
n을 이진법으로 변환했을 때 1의 갯수를 미리 세 준 후 n에 1씩 더한 수의 이진법 변환 1의 갯수와 비교해 줍니다. 더욱 간결하게 쓰려면 재귀함수를 이용할 수도 있습니다.
Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습
맨 끝 글자와 맨 앞 글자를 비교해 주기 위해서 반복문을 사용할 수도 있고, reduce()를 사용할 수도 있습니다.
배열 A과 B에서 수를 뽑아 최솟값을 만드려면, A는 작은 순서대로, B는 큰 순서대로 뽑아 곱하면 최솟값을 구할 수 있습니다. reduce()를 활용하여 배열의 합을 구해줄 수 있습니다.
괄호를 차례차례 검사했을 때, 닫는 괄호가 남아있다면 이미 올바르게 닫을 수 없으므로 바로 리턴해 줍니다. 그리고 첫번째 값이 닫는 괄호일 떄 바로 리턴해 주면 효율성 검사를 통과할 수 있습니다.
1의 갯수를 match로 세 준 다음, 전체 길이에서 1의 길이를 빼 0의 갯수를 세 줍니다. 0의 갯수는 계속 더해주고, 1의 갯수는 s에 다시 할당해주면서 반복문을 실행해 줍니다. 그리고 반복의 갯수를 세 줍니다.
피보나치수를 더하다보면 값이 너무 커져 Javascript의 Number이 표현할 수 있는 범위를 넘어가게 된다. 따라서 미리 1234567로 나눈 나머지를 피보나치수열로 계산해 주어야 한다.
스택을 사용하여 맨 뒤에 넣은 값을 조건에 따라 삭제해주면, 짝지어 제거할 수 있습니다.
숫자가 홀수일 때, 약수의 갯수는 연속되는 숫자 합의 갯수와 같습니다. 또한 1부터 i까지의 합을 구한 뒤, 그 값을 n에서 뺀 다음 i로 나누어지는지 확인해 보는 방법으로도 구할 수 있습니다.
반복문을 사용하여 각 값을 2로 나누어 올림한 다음 비교해줍니다. 두 값이 같아질 때까지 반복을 수행하고 그 횟수를 리턴해주면 됩니다.