본문 바로가기

전체 글153

[프로그래머스 Lv.1] 약수의 개수와 덧셈/문자열 내림차순으로 배치하기/부족한 금액 계산하기 풀이 약수의 개수와 덧셈function solution(left, right) { let answer = 0; // left부터 right까지 반복해서 개수 찾기 for(let j = left; j 문자열 내림차순으로 배치하기function solution(s) { //s의 string 하나씩 분리하기 //내림차순으로 정렬 //대문자 a > b ? -1 : 1); return sumArr = newArr.join(''); console.log(sumArr);}부족한 금액 계산하기function solution(price, money, count) { let answer = 0; for(let i=1; i money ? answer - mone.. 2024. 10. 17.
[프로그래머스 Lv.1] 내적/가운데 글자 가져오기/ 수박수박수 풀이 내적function solution(a, b) { let sum = 0; for(let i=0; i가운데 글자 가져오기function solution(s) { let str = ""; if(s.length % 2 !== 0) { str = s[Math.floor(s.length / 2)]; }else { str = s[Math.floor(s.length / 2)-1] + s[Math.floor(s.length / 2)] } return str;} 반올림 메서드 : Math.round()내림 메서드 : Math.floor()수박수박수박수박수박수?function solution(n) { return '수박'.repeat(n/2) + (n %.. 2024. 10. 17.
[프로그래머스 Lv.1] 없는 숫자 더하기/나누어 떨어진 숫자 배열/제일 작은 수 제거하기/핸드폰 번호 가리기 풀이 없는 숫자 더하기function solution(numbers) { let sum = 0; for(let i=0; i 나누어 떨어진 숫자 배열function solution(arr, divisor) { let answer = arr.filter((n)=>n % divisor === 0); return answer.length === 0 ? [-1] : answer.sort((a, b)=>a-b);}제일 작은 수 제거하기function solution(arr) { let answer = []; for(let i=0; i arr[j]) { answer.push(arr[i]); break } .. 2024. 10. 15.
[프로그래머스 Lv.1] 서울에서 김서방 찾기/콜라츠 추측/음양 더하기 풀이 서울에서 김서방 찾기function solution(seoul) { for(let i=0; i "Kim"이 위치해 있는 인덱스를 찾으면 true 결과값을 받아 return한다.콜라츠 추측function solution(num) { let count =0; while(num !== 1 && count !== 500) { if(num % 2 === 0){ num = num/2 }else{ num = num * 3 + 1 } count++ } return num === 1 ? count : -1;}음양 더하기function solution(absolutes, signs) { let sum .. 2024. 10. 14.
[프로그래머스 Lv.1] 하샤드 수/두 정수 사이의 합 풀이 하샤드 수function solution(x) { // x의 모든 자릿수 합 구하기 let str = x.toString(); let sum = str.split('').reduce((acc, cur) => acc + parseInt(cur), 0); // 합한 값을 x로 나누기 // 나머지가 0이면 하샤드 수 if(x % sum === 0) { return true; }else return false;}두 정수 사이의 합function solution(a, b) { let sum = 0; // a와 b가 같으면 0 반환 if (a === b) { sum = 0; } // a가 더 클 경.. 2024. 10. 11.
[프로그래머스 Lv.1] 정수 내림차순으로 배치하기/정수 제곱근 판별 풀이 정수 내림차순으로 배치하기function solution(n) { let str = n.toString().split("").sort(function(a, b){ return b - a}); let answer = Number(str.join("")); return answer;}; split()을 사용하기 위해 먼저 문자열로 변환하고 sort()를 사용하여 내림차순해준다.그후 다시 숫자열로 변환하여 join()으로 요소를 결합한다.정수 제곱근 판별function solution(n) { let x = Math.sqrt(n); if (Number.isInteger(x)) { return (x.. 2024. 10. 10.
[프로그래머스 Lv.1] 약수의 합/문자열 내 p와 y의 개수/자연수 뒤집어 배열로 만들기 풀이 약수의 합function solution(n) { let sum = 0; for(let i=1; i n을 i로 나는 나머지가 0이 되면 변수 sum에 더하게 반복문을 넣어준다.문자열 내 p와 y의 개수function solution(s){ let arr = s.toLowerCase().split(""); let strP = arr.filter((a)=>a === "p"); let strY = arr.filter((a)=> a === "y"); if(strP.length === strY.length){ return true; }else{ return false; }} 대소문자 구분이 없으니 전체 소문자로 반환해준 상태에서 split.. 2024. 10. 8.
[프로그래머스 Lv.1] x만큼 간격이 있는 n개의 숫자/짝수와 홀수/자릿수 더하기 풀이 x만큼 간격이 있는 n개의 숫자function solution(x, n) { let arr = []; for(let i=1; i 처음에 for문 마지막에 return newArr = arr.push(x * i)를 했었는데 for문처럼 반복문 안에서는 return을 넣으면 반복이 중단되어 쓰면 안된다! 또 push()는 새로운 배열이 아닌 기존 배열에 요소를 추가만 하기 때문에 newArr에 다시 배열을 저장하는 것은 맞지 않다. *map()에서 쓰는 return : 콜백 함수 안에서 return은 단순히 새로운 배열을 만들기 위해 각 요소를 변환하는 역할을 하며, 반복이 끝날 때까지 배열이 자동으로 생성됨. 짝수와 홀수function solution(num) { if(num % 2 ===.. 2024. 10. 7.
[TIL] REST API와 데이터 가져오기 REST API는 클라이언트(웹 애플리케이션)와 서버 간의 통신을 가능하게 하는 규칙과 구조를 제공하는 방법이다.REST는 Representational State Transfer의 약자로,웹 애플리케이션이 서버에서 데이터를 가져오거나 서버에 데이터를 전송할 때 사용하는 일련의 원칙이다.쉽게 말해, REST API는 웹 애플리케이션이 서버와 데이터를 주고받기 위해 사용하는 일종의 "규칙서"라고 할 수 있다.이 규칙에 따라 웹 애플리케이션은 서버와 소통하면서 필요한 데이터를 가져오거나 업데이트할 수 있다.REST API의 핵심 개념HTTP 메서드: REST API는 주로 HTTP 메서드를 사용한다.GET : 서버에서 데이터를 가져올 때 POST : 서버에 새로운 데이터를 보낼 때PUT : 서버의 기존 데이.. 2024. 9. 9.
[발표5회차] 클래스 01 자바스크립트의 클래스 개념자바스크립트와 클래스자바스크립트는 프로토타입 기반 언어로 '상속' 개념이 원래 존재하지 않음.ES6에서 클래스 문법이 추가되어 클래스와 유사한 기능을 구현 가능.프로토타입을 활용해 클래스를 흉내내는 방식 이해 필요.02 클래스와 인스턴스클래스 (Class)클래스는 객체의 구조와 동작을 정의한 설계도 역할.클래스는 추상적 개념이며, 개체의 공통 속성을 정의함.인스턴스 (Instance)인스턴스는 클래스를 기반으로 생성된 구체적인 개체.클래스의 속성을 모두 만족하는 구체적인 예시가 인스턴스.예시: 음식 → 과일 → 귤류음식: 과일의 슈퍼클래스, 귤류의 슈퍼 슈퍼클래스과일: 음식의 서브클래스, 귤류의 슈퍼클래스귤류: 과일의 서브클래스, 음식의 서브 서브클래스인스턴스 예시: 귤류의.. 2024. 9. 3.
[TIL] 로딩 상태 구현이 안될 때 (async/await의 중요성) 🚨문제: 로그인이 되어 있고 구독한 인플루언서가 있는데 렌더링 시 "로그인 정보가 없습니다."와 "구독한 인플루언서 정보가 없습니다." 안내문 모두 렌더링이 되고 마지막에 실제 정보가 뜸 ❓고민1. 데이터를 fetch로 가져올 때 useQuery를 쓰면 데이터를 더 빨리 가져오지 않을까 싶어 바꿔봤으나 안됨.2. return문의 삼항연산자 로직 순서를 바꾸면 렌더링 순서도 바뀔까 싶었지만 안됨. ✔️해결먼저 오류 코드를 보면 useEffect(() => { const fetchData = async () => { if (user) { await getSubscribeData(); } setIsLoading(false); }; fetchData().. 2024. 8. 27.
[DIL] 07 클래스 01 클래스와 인스턴스의 개념 이해그림처럼 음식과 과일은 모두 집단, 즉 클래스이다. 음식은 과일보다 상위의 개념이고, 과일은 음식보다 하위의 개념이다. super-, sub-를 접목해서 상위클래스, 하위클래스라고 표현한다.그렇다면 과일 분류 하위에 또 다른 분류가 있을 경우 클래스 간의 관계는 어떻게 될까?음식은 과일의 superclass이다. 과일은 음식의 subclass이면서 귤류의 superclass이다. 귤류는 과일의 subclass이다. 한편 음식은 귤류의 super-superclass이다. 귤류는 음식의 sub-subclass이다. 하위 개념은 상위 개념을 포함하면서 더 구체적인 개념이 추가된다. 예를 들어, 최상위 분류인 음식 클래스는 '먹을 수 있다' 정도라면, 하위의 과일 클래스는 '먹.. 2024. 8. 26.