알고리즘 28

[알고리즘]프로그래머스 Lv.1 - 기사단원의 무기

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 나의 풀이(오답) function solution(number, limit, power) { var answer = 0; var yarr = []; //number의 약수의 개수를 구해 배열에 push for (let i = 1; i limit ? a = power : a ).reduce((a,b) => a+b); } return answer; } 이중반복문을 사용하여 시간초..

알고리즘 2024.04.01

[알고리즘] 프로그래머스 Lv.1 - 추억 점수

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 풀이 function solution(name, yearning, photo) { // 객체를 만들어 점수를 저장한다. // 객체는 키와 밸류값으로 저장됨 // ex) {may: 5, kein: 10, kain: 1, radi: 3} const memory = {}; for (let i = 0; i < name.length; i++) { memory[name[i]] = year..

알고리즘 2024.03.26

[알고리즘] 프로그래머스 Lv.1 - 신고 결과 받기

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(id_list, report, k) { const newRepo = [...new Set(report)]; // report 중복 제거 const banned = []; // 정지 아이디 const reportedCnt = Array(id_list.length).fill(0); // 신고수 [0,0,0,0] const alert = Array(id_l..

알고리즘 2024.03.24

[알고리즘]프로그래머스 Lv.1 - 시저암호

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 나의 풀이 function solution(s, n) { //아스키코드를 이용해 밀린 값만큼 값을 수정해준다. //아스키코드 : A = 65 / Z = 90 / a = 97 / z = 122 var answer = ''; for (let i = 0 ; i < s.length; i ++){ if (s[i] === " ") { answer += " " } else{ //s 변수 내..

알고리즘 2024.03.22

[알고리즘]개인정보수집 유효기간(JS)

문제 출처 :https://school.programmers.co.kr/learn/courses/30/lessons/150370 문제설명 풀이 //달을 구하는 코드 const addMonth = (dateString,month) => { let [year,mon,day] =dateString.split('.').map((v)=> Number(v)); mon += month; day -= 1; if (day === 0){ day = 28; mon -= 1; } if(mon>12) { const monCount = Math.floor(mon/12); mon = mon - 12 * monCount; year += monCount; } if(mon === 0){ mon += 12; year -= 1; } ret..

알고리즘 2024.03.12

[알고리즘] 프로그래머스 Lv.1 - 이상한 문자 만들기(JS)

문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 내가 풀었던 오답 function solution(s) { //단어들을 공백을 기준으로 떨어뜨려 그 단어의 인덱스가 짝수라면 대문자로 , 아니라면 소문자로 변형하여 출력 var arr = []; //공백을 기준으로 단어를 떨어뜨리고 var stringArr = s.split(" ")..

알고리즘 2024.03.11

[알고리즘]프로그래머스 Level 1 - 소수 만들기(Js)

기억에 남고 , 유용할 것 같은 문제여서 따로 포스팅 합니다. 문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 3중 반복문을 이용하여 더해진 값의 결과가 소수인지 판별 후 소수라면 answer를 하나씩 증가시키는 구조 function solution(nums) { var answer = 0; ..

알고리즘 2024.03.08