자료구조&알고리즘/알고리즘-문제풀이 (26) 썸네일형 리스트형 [프로그래머스-Level1] 같은 숫자는 싫어 function solution(arr) { const answer = []; arr.map((element, index) => { if (answer[answer.length - 1] !== element) { answer.push(element); } }) return answer; } [프로그래머스-Level1] 하샤드수 1. 첫번째 풀이 function solution(x) { // 정수 각 자리수 더하기 let condition = x; let sum = 0; while (condition) { sum += condition % 10; condition = Math.floor(condition / 10); } if (x % sum === 0) { return true; } else { return false; } } 2. 두번째 풀이 - 삼항연산자로 이쁘게 function solution(x) { // 정수 각 자리수 더하기 let condition = x; let sum = 0; while (condition) { sum += condition % 10; condition = Math.floor(condition /.. [프로그래머스-Level1] 문자열을 정수로 바꾸기 1. 첫번째 풀이 function solution(s) { let answer = Number(s); return answer; } 2. 다른 풀이 function solution(s) { return s/1; } [프로그래머스-Level1] 제일 작은 수 제거하기 function solution(arr) { let min = arr[0]; if (arr.length === 1) { return [-1]; } else { arr.map(element => { if (min > element) { min = element; } }) arr.splice(arr.indexOf(min), 1); return arr; } } [프로그래머스-Level1] 핸드폰 번호 가리기 let phone_number = "027778888"; function solution(phone_number) { let answer = ''; for (let i = 0; i < phone_number.length - 4; i++) { answer += '*'; } answer += phone_number.slice(-4); return answer; } console.log(solution(phone_number)); [프로그래머스-Level1] 체육복 1. 첫번째 코드 - map 함수를 이용하여 element를 리스트에서 바로 지울 때 해당 리스트에 바로 적용이 되어 element를 순차적으로 돌지 못하는 문제가 있었다. 그래서 copyLost 리스트를 따로 만듬. let n = 5; const lost = [1, 2, 3]; const reserve = [1, 2, 3]; function solution(n, lost, reserve) { let answer = n - lost.length; lost.sort(); reserve.sort(); // 여벌 체육복을 가져온 학생이 체육복을 도난 당했는지 확인 const copyLost = []; lost.map((element, index) => { if (reserve.includes(element)).. [프로그래머스-Level1] 두 정수 사이의 합 function solution(a, b) { let minNum = a; let maxNum = b; if (a > b) { minNum = b; maxNum = a; } let answer = 0; for (let i = 0; i [프로그래머스-Level1] 완주하지 못한 선수 1. 첫번째 코드 : 효율성 테스트에서 통과하지 못함 - 정확성 테스트는 통과 했으나 효율성 테스트에서 통과하지 못함 - participant에 completion element가 존재하는지 확인 한 후 participant에서 제거하는 로직이 이중for문 효과를 주어서 효율적으로 작동하지 않은 듯 싶다 function solution(participant, completion) { let answer = ''; completion.map(comElement => { if (participant.includes(comElement)) { participant.splice(participant.indexOf(comElement), 1); } }); answer = participant.join(''); r.. 이전 1 2 3 4 다음