본문 바로가기

자바스크립트(JavaScript)/프로그래머스 문제풀기14

[JavaScript] Number.isInterger() 정수인지 확인하기 Number.isInterger() 메서드를 사용하면 값이 정수인지 확인할 수 있다.Number.isInteger(value)대상 값이 정수 혹은 정수로 표현할 수 있는 부동 소수점 숫자면 true를 반환한다.정수가 아니거나, 값이 NaN 혹은 Infinity, 혹은 숫자가 아닌 다른 것인 경우 false를 반환한다.+) 아주 작은 값인 경우 정수로 표현된다.일부 숫자 리터럴은 정수가 아닌 것처럼 보이지만 실제로는 정수를 나타낼 때가 있다.ECMAScript 부동 소수점 숫자 인코딩의 정밀도 제한(IEEE-754)으로 인해 발생한 것이다.예를 들어 5.0000000000000001는 5와 1e-16만큼만 차이가 나며, 이는 너무 작아서 표현할 수 없다. (참고로, Number.EPSILON은 1과 1보다.. 2024. 12. 19.
[programmers - js] 모음 제거 / 정규표현식 캡처링, includes, replaceAll 나의 풀이function solution(my_string) { const arr = ['a', 'e', 'i', 'o', 'u']; for(let a of arr){ my_string = my_string.replaceAll(a, ''); } return my_string;} 다른 사람의 풀이정규표현식 캡처링 / replacefunction solution(my_string) { return my_string.replace(/[aeiou]/g, '');}​includes는 배열 메소드이자 문자열 메소드function solution(my_string) { return Array.from(my_string).filter(t => !['a', 'e', 'i', .. 2024. 12. 16.
[programmers - js] 짝수, 홀수 개수 / for...of 반복문 나의 풀이function solution(num_list) { let a = []; let b = []; num_list.forEach((x) => x % 2 == 0 ? a.push(x) : b.push(x)) return [a.length, b.length]} 다른 사람의 풀이for ... of 반복문for( a of b) 반복문은 b 배열의 각 요소를 a에 할당하며 순회한다. function solution(num_list) { var answer = [0,0]; for(let a of num_list){ answer[a%2] += 1 } return answer;}​위의 예시에선 num_list 배열의 각 요소를 a에 할당하며 순회했다.ans.. 2024. 12. 16.
[programmers - js] 중앙값 구하기 / sort((a,b) => a - b) 나의 풀이sort() 메서드를 통해 오름차순으로 배열을 정렬한 뒤, 배열의 개수를 절반으로 나누고 정수로 만들어 인덱스를 출력했다.function solution(array) { let arr = [...array].sort((a,b)=> a - b); let i = Math.floor(array.length / 2); return arr[i];}​ sort() 메서드sort() 메서드는 요소를 문자열로 변환한 다음 유니코드 순서에 따라 정렬하는 메서드이다.이를 숫자 배열에 사용하면 예상치 못한 결과가 나올 수 있다.(예를들어, 숫자 10 이 숫자 2보다 앞서서 정렬됨)이때, sort 메서드에 콜백 함수를 전달하여 숫자 배열을 올바르게 정렬 할 수 있다. sort ( ( a, b ) =>.. 2024. 12. 16.
[programmers - js] 배열의 유사도 나의 풀이좀 무식하게 푼듯,,,function solution(s1, s2) { let arrNum = 0; for (let i = 0; i  다른 사람의 풀이filter 와 includesfilter 메서드는 배열에서 특정 조건을 만족하는 값들만 남기는 메서드이고,includes 메서드는 배열에 특정 값이 포함되어 있는지 확인하는 메서드이다. function solution(s1, s2) { const intersection = s1.filter((x) => s2.includes(x)); return intersection.length;}s1.filter 메서드 안에서 배열 s1의 각 요소 x에 대해 s2.includes(x) 조건을 확인하여 s2에 포함된 요소들만 걸러낸다. 조건.. 2024. 12. 16.
[programmers - js] 문자열 뒤집기 나의 풀이function solution(my_string) { return [...my_string].reverse().join('')}.reverse() 메서드는 배열 객체의 데이터 순서를 거꾸로 바꾼다.그렇기 때문에 my_string을 먼저 스프레드 문자로 배열로 바꾼 다음 reverse 메서드로 뒤집었다.여기에서 바로 출력하면 [ ' j ', ' a ', ' r ', ' o ', ' n' ]과 같이 출력되기 때문에, 배열 객체의 데이터들을 소괄호 안의 문자로 연결하여 1개의 문자형데이터로 반환시켜주는 join() 메서드를 사용하여 문자열로 반환했다. 2024. 12. 16.