본문 바로가기

js5

[ 프로그래머스 ] JS - 나머지가 1이 되는 수 찾기 문제 풀이for 문을 이용해 n을 x로 나눈 나머지가 1이면 바로 x를 return 해 준다. 주의할 점 function solution(n) { let answer = 0 for(x = 1; x처음에  x로 나눴을때 1인 x를 answer에다가 저장한 후 return을 했더니 나머지가 1이 되도록 하는 가장 작은 자연수 x가 아니라 가장 큰 자연수 x가 계속해서 나오는 것이었다. 알고보니 answer에다가 저장한 후 return을 하면 반복문이 다 돌고난 후에 마지막 값을 return하므로 계속해서 큰 자연수가 나오는 것을 알 수 있었다.따라서 작은 자연수가 나오게 하려면 if문에서 조건에 맞는 x가 나오면 바로 return을 해야 가장 작은 수를 반환할 수 있다는 사실을 깨달았다!  결과f.. 2024. 7. 20.
[ 프로그래머스 ] 나누어 떨어지는 숫자 배열 문제 풀이1. filter()를 이용해 나누어 떨어지는 수만 걸러낸다.2. 삼항 연산자를 이용해 나누어 떨어지는 수가 없으면 -1을 배열로 반환하고 그렇지 않으면 filter로 걸러낸 수를 오름차순으로 정렬한 후 배열로 반환시키낟.  결과function solution(arr, divisor) { var answer = arr.filter(x => x % divisor === 0); return answer.length === 0 ? [-1] : answer.sort((a,b)=> a-b);} 비교처음에는 for문을 이용해서 문제를 해결했지만 두 번째 방법에는 filter()와 삼항 연산자를 사용하여서 풀었다.예전에는 자바를 사용했지만 현재, 자바스크립트를 사용하니 여기서 제공하는 메소드나 함.. 2024. 5. 6.
[ 프로그래머스 ] 평균 구하기 문제 풀이reduce() 함수란 : 배열의 요소를 순차적으로 순회하여 하나의 값으로 줄여 return하는 함수다.따라서 reduce()함수를 이용해서 평균을 쉽게 구할 수 있다. 결과function solution(arr) { return arr.reduce((a,b)=> a+b)/arr.length;}1) arr.reduce((a,b)=>a+b) // arr의 모든 요소들을 더한다.2) 더한 값에다가 arr배열의 길이만큼 나누어(/arr.length) 평균을 구한다. 2024. 5. 6.
[ 프로그래머스 ] 정수 내림차순으로 배치하기 문제 풀이 1. n을 문자열로 바꾼 후 2. split을 이용하여 배열로 바꿔준다. 3. 그 후 sort로 배열을 정렬하기 4. 정렬해준 배열을 for문을 돌려 역수로 만듦 5. 만들어준 배열을 long 타입으로 변환시켜준다. 결과 (자바) import java.util.Arrays; class Solution { public long solution(long n) { String answer = ""; String[] str = String.valueOf(n).split(""); Arrays.sort(str); for(int i=str.length-1; i>=0; i--){ answer +=str[i]; } return Long.parseLong(answer); } } function solution(.. 2024. 3. 23.