javascript

문제https://school.programmers.co.kr/learn/courses/30/lessons/68644?language=javascript풀이우선 중복을 제거하기 위해 집합을 만든다.배열을 이중반복으로 돌면서 두 가지 수를 모두 뽑아 더해준 후 집합에 넣는다 (중복은 걸러짐)집합을 다시 배열로 변환 후 오름차순으로 정렬한다.function solution(numbers) { const uniqueSums = new Set(); // 중복 제거용 Set const n = numbers.length; for (let i = 0; i a - b);}// 테스트console.log(solution([2, 1, 3, 4, 1])); // [2, 3, 4, 5, 6, 7]conso..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이 여는 괄호 '('를 만나면 카운터를 증가닫는 괄호 ')'를 만나면 카운터를 감소.카운터가 음수가 되는 순간, "("가 ")"보다 많다는 것으로 문자열이 잘못 짝지어진 것이다.더이상 체크할 필요없이 false 처리 function solution(s) { //카운트 체크 let count = 0 for (const char of s) { char === '(' ? count++ : count-- // 카운터가 음수가 되는 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12951?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이일차 풀이. map을 돌면서 첫글자가 숫자라면 통과 문자라면, 첫 글자는 대문자, 첫 글자 외에 나머지 글자는 소문자처리=> 런타임 에러... 다시 최적화 해보자function solution(s) { let answer = s.split(" ").map((x) => { return isNaN(x[0]) ? x[0].toUpperCase() + x.slice(1)..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이일차적인 풀이는 우선 최소의 합을 만들기 위해 큰 수, 작은 수로 정렬하여 곱해준걸 합산한다.function solution(A,B){ let answer = 0; //곱한게 최소가 되려면, 큰 수 * 작은 수 const BigA = Math.max(...A) const BigB = Math.max(...B) if(BigA > BigB) { const sortA = A.sort((a,b..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이공백을 기준으로 쪼개서 배열을 만든 후, string 숫자들을 number로 형변환한다변환한 숫자들 중 최소 최대를 찾기위해 Math 매서들을 이용한다.function solution(s) { const arr = s.split(" ").map(Number); // 문자열을 숫자로 변환 return `${Math.min(...arr)} ${Math.max(...arr)}`;}
문제https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이문제 접근을 생각해보면...1+2+3+4 연속된 자연수를 가져야 되니 일단 반복문을 돌려서 숫자를 준비한다.그러면 1+2+3 ... , 2+3+4..., 이런식으로 처음 시작되는 숫자를 기준으로 더한 값을 구할 수 있다. n이 되는 연속 합을 찾기 위해 n이 되면 answer를 증가시키고 쓸데없는 반복이 없도록  n 이상이면 breakfunction solution(n) { let answer = 0; for (let i = 1; i ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/131705?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이function solution(number) { let count = 0; const len = number.length; // 3중 반복문을 사용하여 모든 가능한 조합을 확인 for (let i = 0; i
문제https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이최고 순위와 최저 순위를 알기 위해서는 두 가지 케이스를 생각하면 된다.가지고 있는 로또 번호 중 당첨 번호 + 미확인 번호가 전부 일치 가지고 있는 로또 번호 중 당첨 번호 + 일치하는 번호 없음전체 로또 번호를 돌면서 , 맞은 수를 세고 0으로 표기된 부분을 세준다.그다음 최고, 최저를 계산해 등수로 환산한다.function solution(lottos, win_nums) { let zeroCount = 0; let correctC..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야한다.공백으로 단어를 분리한 후, 다시 그 단어를 알파벳 하나씩 돌면서 홀짝을 판별해준다, 마지막에는 합치기function solution(s) { return s .split(" ") // 공백으로 단어를 분리 .map(word => [...word] .map((char, i) => i % 2 =..
문제https://school.programmers.co.kr/learn/courses/30/lessons/147355?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이반복문을 돌며, p의 길이만큼 첫문자부터 잘라낸 다음, 그 문자를 p와 비교한다.function solution(t, p) { //p 길이 let answer = 0; const pLength = p.length; //p길이 부분 문자열 찾기, 부분 문자열 길이만큼만 반복 for (let i = 0; i
빔네모
'javascript' 태그의 글 목록