JavaScript/알고리즘 90

프로그래머스 정수찾기 JS ( includes() )

문제설명 정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list안에 n이 있으면 1을 없으면 0을 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(num_list, n) { if(num_list.includes(n)){ return 1 } else { return 0 } } 💻 내가 이용한 메서드 includes(): 배열이 특정 요소를 포함하고 있는지 판별 Array.includes 반환값: Boolean 💻 학습한 것 Includes의 매개변수 arr.includes(valueToFind[, fromIndex]) valueToFind : 탐색할 요소 fromIndex: 검색을 시작할 위치 🙋‍♀️ 내 생각 includes()..

프로그래머스 첫 번째로 나오는 음수 JS ( findIndex() )

문제설명 정수 리스트 num_list가 주어질 때, 첫 번째로 나오는 음수의 인덱스를 return하도록 solution 함수를 완성해주세요. 음수가 없다면 -1을 return합니다. ✅ 내 코드 function solution(num_list) { const find = num_list.findIndex(a => a= 0) { return find } else { return -1 } } 💻 내가 이용한 메서드 findIndex(): 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환 만족하는 요소가 없으면 -1을 반환 💻 학습한 것 findIndex()와 find()의 비교 1. findIndex(): 만족하는 인덱스를 반환 (없으면 -1을 반환) 2.find(): 만족하는 값을 ..

프로그래머스 문자열을 정수로 변환하기 JS (Number(), parseInt(), +)

문제설명 숫자로만 이루어진 문자열 n_str이 주어질 때, n_str을 정수로 변환하여 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(n_str) { return Number(n_str) } 💻 내가 이용한 메서드 Number(): 문자열이나 다른 값을 Number 타입으로 변환 Number(value) 💻 다른방법 1. + 2. parseInt() 💻 학습한 것 Number()와 parseInt()의 차이점 1. Number()은 '123'과 같이 숫자로 이루어진 문자열만을 number타입으로 바꿔주지만, parseInt()는 '111하하하'와 같은 숫자+문자열로 된 string에서 숫자만들 찾아서 number타입으로 바꿔줄 수 있다. 2. pars..

프로그래머스 정수 부분 JS (Math.floor() / Math.trunc() / parseInt() )

문제설명 실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(flo) { return Math.floor(flo) } 💻 내가 이용한 메서드 Math.floor(): 항상 내림하고 주어진 숫자보다 작거나 같은 가장 큰 정수를 반환 💻 내가 생각한 다른방법 1. Math.trunc: 소수 자릿수를 제거하여 숫자의 정수 부분을 반환 2. parseInt(): 문자열 인자를 파싱하여 정수를 반환 🙋‍♀️ 내 생각 자바스크립트에서 number를 정수로 만드는 방법이 여러가지가 있어서 그중에서 선택을 하면 될것같다. 이 문제는 위의 메서드중에 하나를 선택해서 넣기만 하는거라 엄청 간단했다.

프로그래머스 rny_string JS ( repalceAll() )

문제설명 'm'과 "rn"이 모양이 비슷하게 생긴 점을 활용해 문자열에 장난을 하려고 합니다. 문자열 rny_string이 주어질 때, rny_string의 모든 'm'을 "rn"으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요. ✅ 내 코드 function solution(rny_string) { return rny_string.replaceAll("m","rn") } 💻 내가 이용한 메서드 replaceAll(): pattern의 모든 일치 항목이 replacement로 대체된 새 문자열을 반환 String.replaceAll() replaceAll(pattern, replacement) replace()는 첫번째 문자열만 변경한뒤 반환되기때문에 이 문제에서는 replaceA..

프로그래머스 문자 리스트를 문자열로 변환하기 JS (slice() / join())

문제설명 문자들이 담겨있는 배열 arr가 주어집니다. arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요. ✅ 내 코드 function solution(arr) { return arr.slice().join('') } 💻 내가 이용한 메서드 1. slice(): 어떤 배열의 begin부터end까지(end미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환 Array.slice(begin, end) 2.join(): 배열의 모든 요소를 연결해 하나의 문자열로 만듦 Array.join(seperator) 🔫 join() 으로 배열을 연결하는 4가지 방법 🔫 var a = ['바람', '비', '불']; var myVar1 = a.join(); // myVar..

프로그래머스 길이에 따른 연산 JS (reduce())

문제 설명 정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(num_list) { const list = num_list; if(list.length >=11){ return list.reduce((a,b) => a +b ,0) } else { return list.reduce((a,b)=> a*b , 1) } } 💻 내가 이용한 메서드 reduce(): 배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환 Array.reduce() array.reduce( (accumu..

프로그래머스 뒤에서 5등까지 JS (sort() / slice())

문제설명 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(num_list) { return num_list.sort((a,b)=> a-b).slice(0,5) } 💻 내가 이용한 메서드 1. sort(): 배열의 요소를 정렬한 후, 반환 Array.sort() 오름차순 sort((a,b) => a-b) 내림차순 sort((a,b) -> b-a) 2. slice(begin, end): 배열의 begin부터end까지(end미포함) 새로운 배열 객체 반환 Array.slice() 💻 학습한 것 slice()는 end를 미포함한다는 것을 ..

프로그래머스 문자열로 변환 JS (String()/ toString() / +"")

🔍 문자열로 변환 문제설명 정수 n이 주어질 때, n을 문자열로 변환하여 return하도록 solution 함수를 완성해주세요. ✅ 내 코드 function solution(n) { return String(n) } 💻 내가 이용한 메서드 String(): 인수로 전달된 값을 문자열로 반환한다. 💻 내가 생각한 다른방법 1. + "" 2. toString() 💻 학습한 것 String()과 toString()의 차이점 ➡️ 활용하는 방법이 다르다 1. String(): 인자로 전달된 값을 문자열로 반환 String(n) 2.toString(): 문자열로 변환할 값을 앞에 적는다 n.toString() 🙋‍♀️ 내 생각 간단한 문제이지만 활용할수 있는 방법이 여러가지이다. 평소에는 거의 toString(..

프로그래머스 가장큰수찾기 JS (Math.max() / indexOf() )

🔍 가장 큰 수 찾기 문제설명 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. ✅ 내 코드 function solution(array) { return [Math.max(...array), array.indexOf(Math.max(...array))]; } 💻 내가 이용한 메서드 1. Math.max(): 가장 큰수를 찾는다. 2. indexOf(): 인덱스를 찾는다. 💻 학습한 것 1. Math.max(): 배열을 인수로 받지 않는다 -> ...전개연산자를 이용해서 배열을 각각의 값으로 분리해야한다. 2. indexOf(): array.indexOf(찾고싶은값)의 형태로 사용한다. 🙋‍♀️ 내 생각 처음..