본문 바로가기

프로그래머스

(31)
[프로그래머스] 음양 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/76501?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법signs[i]가 true인 경우 +1, false인경우 -1을  absolutes[i] 문자열에 곱하고 해당값을  answer 문자열에 더해준다.function solution(absolutes, signs) { var answer = 0; for(var i = 0; i 결과 : 100점
[프로그래머스] 로또의 최고 순위와 최저 순위 https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법사용자가 선택한 로또 번호(lottos)와 당첨 번호(win_nums)를 비교하여, 일치하는 번호의 개수(low)와 미지정 번호(0)의 개수(temp)를 계산한다. low + temp는 미지정 번호를 모두 당첨 번호로 바꾼 경우의 최대 맞춘 개수로, 이를 통해 최고 순위를 계산하고, low는 실제로 맞춘 개수로 최저 순위를 계산한다. function solution(lottos, win_nums) { var score = new Ma..
[프로그래머스] 약수의 개수와 덧셈 https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법완전제곱수인 정수는 약수의 개수가 홀수, 그렇지 않은 정수는 약수의 개수가 짝수 라는 점을 이용하여Math.sqrt(i)후 1로 나눈 나머지가 0인지를 확인하여 answer의 값에 반영한다.function solution(left, right) { var answer = 0; for(var i = left; i 결과 : 100점
[프로그래머스] 숫자 문자열과 영단어 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법 1. s.slice(init, i)를 사용하여 s의 특정 부분 문자열(temp)을 추출한다.2. temp가 숫자인지(!isNaN(temp)) 확인하거나, map.has(temp)로 단어 매칭 여부를 확인한다. 3. 숫자 또는 매핑된 숫자를 answer에 추가한다.4. 단어가 처리되었을 경우, 시작 위치(init)를 업데이트하여 다음 반복에서 처리할 문자열 범위를 조정한다.  function solution(s) { var answe..
[프로그래머스] 부족한 금액 계산하기 https://school.programmers.co.kr/learn/courses/30/lessons/82612?language=javascript 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법반복문을 사용하여 각 횟수마다의 비용을 더한 뒤 money와 비교하여 temp > money이면 부족한 금액을 계산(temp - money)하여 반환합니다. 그렇지 않으면(돈이 충분하면), 부족한 금액이 없으므로 0을 반환합니다.  function solution(price, money, count) { let temp = 0; for (var i = 1; i money ? temp - mo..
[프로그래머스] 없는 숫자 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법0부터 9까지의 숫자가 담긴 numList 배열을 선언 후 filter를 통해 numList에 속하지 않는 데이터끼리 더한 값을 리턴한다.function solution(numbers) { var answer = []; let numList = [0,1,2,3,4,5,6,7,8,9]; for(number of numbers){ numList = numList.filter(item => item != number..
[프로그래머스] 최소직사각형 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법항상 큰 값이 가로, 작은 값이 세로가 되도록 정렬하고 각 최대값을 구하여 곱한뒤 return 한다.function solution(sizes) { let x = 0; let y = 0; for (let size of sizes) { let [w, h] = size[0] > size[1] ? [size[0], size[1]] : [size[1], size[0]]; x = Math.max(x, w)..
[프로그래머스] 나머지가 1이 되는 수 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/87389 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr접근방법 temp 변수는 나머지를 저장하기 위해 선언되며, num 변수는 몫을 저장하고 초기값은 0으로 설정된다. 이후 num을 1씩 증가시키면서, 주어진 숫자를 num으로 나눈 나머지가 1이 되는 몫을 찾아 반환한다. function solution(n) { let temp = 0; let num = 0; while(temp != 1){ num ++ temp = n % num; } return..