JavaScript 105

프로그래머스 x만큼 간격이 있는 n개의 숫자 JS

문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 🙋‍♀️ 내 생각 최종적으로 반환하는 answer이 배열이기때문에 빈배열을 먼저 만들고, 그 안에 push로 값을 담아야겠다고 생각했다. x씩 증가하는 값을 반복하므로 for반복문을 사용했다. ✅ 내 코드 const solution = (x,n) => { let arr =[] for(i=x; arr.lengthn일때까지만 i에 x를 더해가면서 arr에 i를 push하고 범위를 벗어나면 바로 for문을 빠져나온다. return arr를 통해서 arr를 리턴한다. 💻 다른사람 코드중에 ..

프로그래머스 나머지가 1이 되는 수 찾기 JS

문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 🙋‍♀️ 내 생각 나머지 1인 수를 일일이 검사를 해야 알 수 있기때문에, 반복문을 통해서 검사를 해야겠다고 생각했다. 나는 for문을 사용해서 수를 검사했다. 그리고 나머지가 1이 되는 수 중에서 가장 작은수를 찾아야하므로, 범위는 작은수를 기준으로 더해나가면서 검사를 하는 식으로 코드를 짰다. (불필요하게 검사하는 값이 적어지도록 하기 위해서) n을 나눈 나머지가 1인 수를 구하는 것이고 n의 범위가 3부터 시작되므로 찾으려는 값 x의 범위에서 0과 1은 제외했다. ✅ 내 코드 function..

객체구조분해할당 [새로운 변수이름 할당하기]

구조분해할당이란? 객체나 배열의 값을 추출하여 변수에 할당하는 것 객체구조분해할당 기본형태: {추출하고 싶은 특정 값} = 객체 예시 const { data } = response response 객체의 data 속성에 접근하고 그 값을 data라는 변수에 저장 response객체의 내부를 보면 {data:{...}, date:{...}, 기타등등...} 객체안에 여러가지 객체가 또 들어있다. 이중에서 data라는 이름의 객체만을 추출하고 그 값을 data라는 변수에 저장한다. 이렇게 함으로써 response.data라고 적을 필요 없이 data만 적어도 data안에 있는 값에 접근할 수 있다. 이렇게 객체구조분해할당의 기본형태에서 한단계 나아간 것이 새로운 변수이름 할당하기이다. 기본형태는 같고, 거기..

JavaScript/JS 2023.08.20

프로그래머스 가운데 글자 가져오기 JS

문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 🙋‍♀️ 내 생각 s의 길이가 홀수인 경우와 짝수인 경우가 리턴되는 문자열의 길이가 다르다. 홀수인경우에는 가운데 하나의 문자열만을, 짝수인 경우에는 가운데 두개의 문자열을 리턴한다. 따라서 가장먼저 s가 홀수인지 짝수인지 경우를 나눠야겠다고 생각했다. 또한, 문자열도 배열처럼 index를 이용해서 값에 접근할 수 있는 성질을 이용해서 해당값을 추출하였다. (접근만 가능하고 수정은 불가- 문자열은 불변한 데이터타입이므로) ✅ 내 코드 function solution(s) { if(s.length%2!==0){ return s[Math.floor(s.length/2..

window.location.reload() [ 현재페이지 리로드하기 ]

➡️ 로고를 누르면, 현재 페이지를 다시 리로드하는 기능을 구현하기 위해서 window.location.reload를 사용한다. 1. 기능 현재 페이지를 다시 리로드 2. 방법 window.location.reload() 우선 나는 현재 넷플릭스 사이트를 만들고 있는데, 맨 위에 있는 넷플릭스 로고버튼을 누르면 현재 페이지가 리로드되는 기능을 넣어야했다. 이를 위해서 window.location.reload()를 사용하였다. 🔫 의도: 왼쪽 제일 상단에 있는 넷플릭스 버튼을 누르면 페이지를 다시 리로드하도록 ✅ 코드 window.location.reload()} /> onClick이벤트를 통해 이미지를 누르면 reload를 실행하게 한다. ✔️ 결과확인 🔎 원리 window.location은 웹 브라우저..

JavaScript/JS 2023.08.18

프로그래머스 평균 구하기 JS

문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 🙋‍♀️ 내 생각 너무 쉬운 문제라서 블로그에 적을까 말까 고민하다가 적는다 ㅎㅎ 모든 문제를 다 적을 수는 없어서 그래도 뭔가 배우거나 기록하고 싶은게 있는 문제를 올린다. 이 문제는 뭔가 크게 배울만한 문제를 아니지만, 그래도 꾸준히 기록해두면 좋을것 같아서 적어보았다. 이 문제는 1단계문제인데도 0단계중에 복잡한 문제보다 훨씬 더 쉬운 문제이다. 만약 이 문제가 어렵게 느껴졌다면 아마 reduce의 사용법이 익숙지 않아서 일것이라고 생각한다. ✅ 내 코드 function solution(arr) { return arr.reduce((acc,cur)=>acc+cur,0)/arr.length } ..

프로그래머스 합성수 찾기 JS ( Math.sqrt() - 제곱근을 범위로 이용 )

문제 설명 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요. 🙋‍♀️ 내 생각 약수의 개수를 기준으로 합성수를 판단하므로, 일단 길이가 n만큼인 배열을 만들고 그 값들을 돌면서 각각의 값의 약수의 개수를 구해야겠다고 생각했다. 그래서 n만큼의 길이를 가진 배열을 만든 다음, arr2를 또 만들어서 각 요소의 약수의 개수를 구하고 값이 3이상인것만 filter를 통해서 남긴다. 그런 다음 length를 통해서 몇 개인지 구한다. ✅ 내 코드 function solution(n) { let num =0 let arr = Array.from({ length: n }, (_, i) => i + ..

프로그래머스 피자 나눠 먹기 (2) JS ( 정확한 범위를 모를때 while문 )

문제 설명 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 🙋‍♀️ 내 생각 먼저, 문제에서 찾는값이 어떤 값인지 또 그 값에는 어떤 패턴이 있는지를 분석하기 위해서 반복되는 특징을 적었다. 피자가 6조각인 것은 fix된 값이므로 모두 6 이라고 적는다. 그런 다음 (6*피자판의 개수)를 구하면 총 피자조각들의 개수가 된다. 이 값을 다시 사람수인 n으로 나눈다. 이렇게 모두 같은 조각을 먹기위해서는 이렇게 나눈 값이 0이 되어야한다. 테스트코드를 통해 확인한 규칙은 아래와 같다...

프로그래머스 약수의 합 JS

문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 🙋‍♀️ 내 생각 지난번에 풀었던 약수를 구하는 문제에서, 거의 유사하다. 구한 약수들을 모두 합쳐서 그 합을 결괏값으로 리턴하면 된다. 아래는 지난번에 풀었던 약수구하기 문제이다. 프로그래머스 약수구하기 JS 문제 설명 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 🙋‍♀️ 내 생각 n이라는 숫자를 매개변수로 받아서 약수를 구하고 hihiha2.tistory.com ✅ 내 코드 function solution(n) { let arr =[] for(i=1; i acc+cur,0) } 약수들을 마지막에 합을 구하기 위해서..

프로그래머스 약수구하기 JS

문제 설명 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 🙋‍♀️ 내 생각 n이라는 숫자를 매개변수로 받아서 약수를 구하고 그 약수들로 채워진 배열을 구하는 문제이다. 이 문제를 풀면서 자바스크립트에서 약수를 어떻게 구할것인가를 중점적으로 생각해보았다. (배열에 담는것은 어렵지 않으니까) divisor이라는 변수를 선언하고 그 값을 이용해서 n을 나누는데, (n/divisor) divisor이 n이 될때까지 계속해서 나눈다. (divisor v+index+1) } 마지막으로 filter를 통해서 n을 나눈 나머지가 0인 요소만을 남긴다. function solution(n) { return Array(n).fill(0).ma..