자료구조알고리즘 (29) 썸네일형 리스트형 03_powerOfTwo [ 문제 ] 문제는 간단해보인다. 입력받은 수가 2의 거듭제곱인지의 여부를 boolean값으로 반환하는 것이다. 입출력 예시를 보면, 입력받은 수인 16은 2^4, 즉 2의 4, 2의 거듭제곱이므로 true값을 반환하고 22는 2의 거듭제곱이 아니므로 false값을 반환한다. 단, 주의사항은 while 반복문을 사용해야 한다는 것! [ 풀이 ] 내가 작성한 로직은 다음과 같다. 1/ 먼저 입력받은 수가 1인 경우에는 2의 0승이므로 true값을 반환시킨다. 2/ 입력받은 수가 1이 아닌 경우, 초기값이 2인 while 반복문을 이용하여 2를 곱해줌으로써 2의 거듭제곱으로 만든다. 그 값이 num과 일치하면 true를, 그렇지 않으면 false를 반환시킨다. function powerOfTwo(num) {.. 02_computeWhenDouble [ 문제 ] 입출력 예시로 문제를 설명하자면, 7%의 연이율로 원금이 2배 이상이 될 때까지 걸리는 시간인 11년이 return된다. 예를 들어, 원금이 1원이고 연이율이 100%라고 해보자.(안다, 말도 안되는 이야기인걸..) 그럼 1년이 지나면 1원이었던 원금이 1+(1x100x0.01 원금x연이율x0.01)=1+1=2가 된다. 즉, 원래 원금이었던 1의 2배인 2가 된다. 그러므로 원금이 2배 이상이 될때까지 걸린 시간인 1이 return이 되는 것이다. [ 풀이 ] 1/ 먼저 원금을 capital이라는 변수로 선언한다. 2/ 1년 후 : capital + capital * interestRate * 0.01 = capital(1+1*interestRate*0.01)^1 3/ 2년 후 : capit.. 01_transformFirstAndLast [ 문제 ] 입출력 예시로 문제를 설명하자면, 입력받은 배열 중 0번째 요소가 객체의 key, 마지막 요소가 객체의 value로 만들어 그 객체를 반환해야한다. 그리고 빈 배열을 입력받은 경우, 빈 객체를 반환해야한다. [ 풀이 ] 내가 작성한 로직은 아래와 같다. 1/ 먼저 빈 객체를 변수에 할당한다. 2/ 만약 배열의 길이가 0이라면(즉, 빈 배열이라면) 빈 객체를 그대로 반환한다. 3/ 빈 배열이 아니라면, 대괄호 표기법(bracket notation)을 사용하여 동적으로 생성시킨다. 4/ 객체를 할당한 변수를 반환한다. function transformFirstAndLast(arr) { let obj = {}; //변수를 선언하고, 빈 객체를 할당한다. if(arr.length === 0){ //.. [프로그래머스] 소수 만들기 [ 문제 ] 이 문제를 설명하자면, 배열인 nums에 들어있는 숫자 중, 서로 다른 3개를 골라 더하여 소수가 되는 경우의 개수를 return하는 것이다. - 입출력 예시로 설명을 하면, nums가 [1,2,3,4]이면 서로다른 3개를 골라 소수가 되는 경우는 [1,2,4] === 7, 하나의 경우밖에 없기때문에 1이 return 됩니다. [ 풀이 ] 1/ 먼저 소수인지를 판별하는 함수를 하나 만든다. 2/ 반복문을 이용하여 nums의 서로 다른 3개의 수를 더한다. 3/ 1번에서 만든 소수판별함수에 넣어 소수인지 확인한다. 1/ 먼저 소수인지를 판별하는 함수를 하나 만든다. function isPrime(num){ for(let i = 2; i [프로그래머스] Lev1. 약수의 개수와 덧셈 [ 문제 ] 위 입출력 예시로 설명을 하자면, left는 13, right는 17이고 13부터 17까지의 모든 수 중, 약수의 개수가 짝수인 13, 14, 15, 17은 더하고 약수의 개수가 홀수인 16은 뺀 값을 return 하는 것입니다. [ 풀이 ] 제가 작성한 로직은 아래와 같습니다. 1/ 먼저 약수의 개수를 구하는 함수를 만듭니다. 2/ left부터 right까지 반복문을 이용해 1번에서 만든 약수의 개수를 구하는 함수로 약수의 개수가 짝수인지 홀수인지 구분합니다. 3/ 짝수이면 +, 홀수이면 -를 하여 최종 값을 return 합니다. 1/ 먼저 약수의 개수를 구하는 함수를 만듭니다. let divisor = function(num){ let count = 0; //먼저 count라는 변수에 0.. 이전 1 2 3 4 다음