본문 바로가기

분류 전체보기34

[DFS] 프로그래머스 타켓넘버 자바스크립트로 풀기 자바스크립트로 해결한 풀이방법은 구글 검색에서 발견하지 못했습니다. 그래서 직접 자바스크립트 해설을 포스팅합니다. [문제] n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타깃 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개.. 2019. 10. 21.
자바스크립트 참조, 얕은복사, 깊은복사의 차이점 참조 참조형 타입의 객체는 데이터를 직접 보관하고 있는 것이 아니라 데이터가 보관된 메모리 주소를 기억하고 있습니다. 참조형 타입을 다른 변수에 대입하게 되면 복사가 일어나지 않고 참조가 일어나게 됩니다. 참조란 실제 데이터를 복사하는 것이 아니라 데이터가 있는 주솟값을 공유하는 것을 의미합니다. 즉, sports와 sports2 둘 모두 같은 주소를 가리키고 있는 것이며 원본 데이터["soccer", "baseball", "basketball"]를 공유하고 있는 것입니다. 그래서 sports2를 수정하였을 때 sports도 수정이 됩니다. const sports = ["soccer", "baseball", "basketball"]; // 원본 데이터 const sports2 = sports; // 대입.. 2019. 10. 15.
리액트 setState 비동기에 주의하라 setState는 비동기이다. 비동기이기 때문에 일어날 수 있는 실수를 정리했다. 예로들 예제는 클릭할때 마다 1씩 증가하는 스코어 키퍼다. 먼저 이와같이 스테이트가 정의 되어있다. this.state = {score: 0} 1) 잘못된 setState 사용 singleUp() { this.setState({score: this.state.score + 1}) } tripleUp() { // 이 함수가 문제가 된다. this.setState({score: this.state.score + 1}) this.setState({score: this.state.score + 1}) this.setState({score: this.state.score + 1}) } singleUp은 잘 동작하지만 tripleUp.. 2019. 6. 27.
몽구스 여러개의 조건으로 다큐먼트 찾기 19.05.31 작성 다음과 같이 4개의 다큐먼트가 저장되어 있다고 가정한다. 1. [a, b, c] 2. [a, b, c, d] 3. [a, b, d] 4. [a, b] 1. a, b, c 를 포함하지만 다른 d는 포함하지 않는 다튜먼트를 찾고 싶을때 Model.find 에 별다른 옵션을 주지 않으면 된다. Model.find({ categories: req.body.searchCategories }, function (err, docs) { console.log(docs); // 정확히 categories가 a,b,c만 포함하는 것을 찾음 }); [a, b, c] 반환 [a, b] 반환 [a, b, c, d] 반환 x [a, b, d] 반환 x 2. a, b, c 를 모두 포함하는 것들을 모두 찾고 .. 2019. 6. 16.