본문 바로가기

JavaScript51

[프로그래머스 Lv.1] 삼총사 function solution(number) { let count = 0; for(let i=0; i 2024. 10. 29.
[프로그래머스 Lv.1] 3진법 뒤집기 풀이 function solution(n) { //n을 3진법으로 바꿔 let ternary = n.toString(3); //3진법이 된걸 뒤집어 reverse let reversTernary = ternary.split("").reverse(); let sum = reversTernary.join("") //reverse를 다시 10진법으로 바꿔 let answer = parseInt(sum, 3) return answer;} 코드 설명3진법 변환: n.toString(3)를 사용하여 10진수 n을 3진법 문자열로 변환합니다.문자열 뒤집기: split("") 메서드를 사용하여 문자열을 문자 배열로 변환한 후, reverse()로 배열을 뒤집습니다.배열을 문자열로 .. 2024. 10. 28.
[프로그래머스 Lv.1] 예산 function solution(d, budget) { let answer = 0; // 가능한 횟수 let sum = 0; // 합산 예산 // d를 오름차순으로 바꿔 let arr = d.sort((a, b) => a - b); // d의 인덱스를 누적해서 더해 for (let i = 0; i budget) { break; } // budget보다 커지기 전까지는 지원 가능한 횟수를 증가시켜 answer++; } // 횟수 반환 return answer;} 2024. 10. 25.
[프로그래머스 Lv.1] 크기가 작은 부분 문자열 function solution(t, p) { let answer = []; //t의 문자열을 하나하나 뿌셔 let arrT = t.split(""); //p 길이 구하게 p도 뿌셔 let arrP = p.split(""); //뿌신 t를 0번째 인덱스부터 p의 길이만큼 돌면서 뽑고 붙여 for(let i=0; i = arrP.length && newArr  최선이어따...... 2024. 10. 25.
[TIL] 유효성 검사를 위한 정규 표현식 정리 //한글, 영문, 숫자 허용 (한글 자음이나 모음은 단독 사용 허용하지 않음)const regex = /^[a-zA-Z0-9가-힣\s]+(?![ㄱ-ㅎㅏ-ㅣ])$/;//이메일 형식const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;//숫자, 영문, 특수문자 허용const regex = /^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#$%^&*]).{8,}$/; 2024. 10. 24.
[프로그래머스 Lv.1] 최대공약수와 최소공배수 function solution(a, b) { // 최대공약수를 구하는 함수 (유클리드 호제법 사용) function gcd(a, b) { while (b !== 0) { let temp = b; b = a % b; a = temp; } return a; } // 최소공배수를 구하는 공식: a * b / gcd(a, b) let gcdValue = gcd(a, b); let lcmValue = (a * b) / gcdValue; // 배열로 최대공약수와 최소공배수를 반환 return [gcdValue, lcmValue];} 유클리드 호제법 단계두 수 중 큰 수를 작은 수로 나눈 나머지를 구합니다.작은 수와 나머지로 다시 나눔을 반복합니다.나.. 2024. 10. 24.
[프로그래머스 Lv.1] 이상한 문자 만들기 function solution(s) { let answer = []; let arr = s.split(" "); for (let i = 0; i  왜이렇게 어려움 2024. 10. 22.
[프로그래머스 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.