본문 바로가기

자기개발/TIL35

js에서 양의 정수를 받아 배열로 만들기 오늘도 프로그래머스에서 배열관련 문제를 풀었다. 이번 문제의 이름은 배열만들기 1 n,k가 주어지는데 둘다 양의 정수고, n에서 k의 정수를 찾는 거였다. function solution(n, k) { let m =Array.from({length:n},((v,i)=>i+1)) var answer = m.filter((i)=> i%k ===0); return answer; } 위의 풀이 방법이 오늘 내가 배운 array.from에다가 length를 통해 배열을 만들수 있게 해주는 것이었다. 처음에 당연히 for문으로 아래와 같이 풀었다. 그런데 이러면 내가 js의 새로운 문법들을 연습하는 의미가 없는거 같아서 뭐가 있을까 하다가 n은 그냥 정수니까 n을 배열로 만들어서 map, reduce, filter.. 2023. 7. 7.
js 조건문을 연습하는 줄 알았는데 새로운 매소드를 알았다. 오늘도 뚠뚠 열심히 뚠뚠 프로그래머스를 푼다네.. 인제 언제 지 혼자 꺼질지 모르는 컴으로... 어휴.. 오늘은 프로그래머스의 마지막 두 원소를 풀어봤어요. 자꾸 컴이 꺼져서 그냥 if문을 통해 풀었어요. function solution(num_list) { if(num_list.at(-1)>num_list.at(-2)) { num_list.push(num_list.at(-1)- num_list.at(-2)) }else{ num_list.push(num_list.at(-1)*2) } return num_list; } 너무 무식하게 풀었죠??? 다른 좋은 방법이 있을 거 같은데 사실 저는 처음에 그냥 num_list[-1]>num_list[-2] 이 조건을 쓸 수 있을 줄 알았거든요 근데 프로그래머스에서 .. 2023. 7. 6.
리스트 연습 n보다 커질때까지 더하기 배열 numbers가 주어지고 정수 n이 정해진다. numbers 배열 내의 숫자를 앞에서부터 하나씩 더하다가 합이 정수 n보다 커지는 순간 이 때까지 더했던 합을 return 하는 문제였다. 여기서 나는 for문과 reduce를 사용하고자 했다. for문으로 완성해보고, reduce를 사용해보는 식으로! 처음 예제부터 0이라는 숫자를 맨 처음 가지고 더한다고 설명히 되어 있었다. 그래서 그러면 for(let i=0; i n){ return answer } } 라고 먼저 짯다. 그래놓고 프로그래머스에는 for(let i=0; i n } return answer 로 적은것. 오메,,, 이게 뭔일이람...? answer =+ 로 변경해도 if문을 사용하지 않았기 때문에 내가 원하는 .. 2023. 7. 5.
배열에서 음수의 인덱스를 반환하란다 오늘도 프로그래머스를 풀었다. 배열에 약한거 같아 배열문제를 찾아서 풀어봤다. 문제는 길이가 5이상인 배열을 줄꺼고 거기서 음수의 인덱스를 반환하라는 거였다. 일단 음수를 정의하는 것 부터 또 헤맸다. 이놈의 숫자 숫자 숫자. 처음에 한 생각은 배열이 num_list라고 하면 num_list.find((v)=>v===-1*v)로 하면 음수를 찾을 수 있을 거 같았다. 근데 undefind가 나왔다. 아놔... find 메서드를 잘 못썻다고 생각하진 않았으니까 당연히 괄호안의 조건이 잘못된거라 생각하고 js에서 음수표현을 검색했다. 역시... 표기가 잘못된거였다. a v v v v v v 2023. 7. 4.