본문 바로가기

JavaScript56

[프로그래머스 Lv.1] 직사각형 별찍기/같은 숫자는 싫어 풀이 직사각형 별찍기process.stdin.setEncoding('utf8');process.stdin.on('data', data => { const [n, m] = data.trim().split(' ').map(Number); // 입력된 값을 정수로 변환하여 n과 m에 할당 const row = '*'.repeat(n); // 가로 길이 n만큼의 별을 출력할 문자열 생성 for (let i = 0; i 같은 숫자는 싫어function solution(arr) { let answer = []; for (let i = 0; i  위에 풀이에 쓰이진 않지만 찾아보던 중 나중에 사용하기 좋은 메서드를 알게 됐다.function solution(arr) { r.. 2024. 10. 21.
[프로그래머스 Lv.1] 문자열 다루기 기본/행렬의 덧셈 문자열 다루기 기본function solution(s) { let answer = false; // s가 숫자로만 이루어져 있고, 길이가 4 또는 6인지 확인 if (!isNaN(s) && s.length === 4 || s.length === 6) { // 숫자로만 이루어져 있는지 확인 if (/^\d+$/.test(s)) { answer = true; } } return answer;} - isNaN() : 숫자열이 아닐 때 true를 반환함- s.length === 4 || 6 이라고 했었는데 각각 length를 입력해줘야 정확함!- /^\d+$/.test() : 정규표현식으로  /^\d+$/는 숫자만 포함되.. 2024. 10. 19.
[프로그래머스 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.
[TIL] JavaScript fetch와 async await 사용법 1. fetch 사용법fetch : 데이터 요청을 위한 함수then : fetch가 완료되면 그때 ~라는 뜻json() : 자바스크립트 데이터로 변경하는  함수 fetch 함수를 쓰기 위해 필요한 정보 (예시 데이터 : https://developer.themoviedb.org/reference/movie-top-rated-list )API주소를 알아야함 ex) https://api.themoviedb.org/3/movie/top_rated?language=en-US&page=1메소드를 알아야 함 ex) get, post 등등 아래 예시 코드를 보며 좀 더 이해해보자! const options = { method: 'GET', headers: { accept: 'application/json' }};f.. 2024. 6. 28.