본문 바로가기
728x90
반응형

전체 글145

[우테크] 개발자 원칙 제어할 수 없는 것에 의존하지 않기 – 인프랩 이동욱 프로그래머에게 요구되는 것은 100점이 아닌 80~90점짜리 프로그램을 기한 내에 완성하는 일이다. 본인만의 기준과 원칙으로 빠르게 결정 외부에서 전달 받은 값은 절대 주요키로 선택하지 않는다. 라이브러리 변화에 영향을 받는 코드를 작성하지 않기 실패를 축하합니다: 실패가 내 성장의 동력이 되려면 – 무신사 박미정 실패를 증명하기(사실만 보고, 잘한 것, 놓친 것을 적어보기) "덕업일치를 넘어서"에서 하고 싶었던 이야기 – 컬리 박성철 전문가 = 역량 * 동기 * 방향 * 협력 이때, 역량을 제외한 모든 요소는 동적요소이다! 내가 관리하는 것 정리하기 정말 너무 좋은 강의였다. 특히 이동욱님의 인프런 개발 문화가 너무 마음에 들었다. 진짜 저런 회사가.. 2023. 4. 11.
[JS/오류해결] POST request status가 canceled일 때 문제 상황 회원가입 페이지에서 이메일과 비밀번호를 작성하고 회원가입 버튼을 클릭했을 때 크롬에서 response를 받지 못하는 문제점이 있었다. 이메일과 비밀번호는 input으로 작성되었고, 회원가입 버튼은 button으로 작성했다. 그리고 3개의 HTML 엘리먼트는 form으로 감싸주었다. response를 받지 못하는 이슈를 확인하기 위해, 개발자 도구의 network 탭을 확인해봤다. 여기서 status가 canceled인 것을 확인할 수 있었다. 참고로 postman에서는 통신이 잘 되는 것을 확인한 상태이다. 해결방법 이유는 form 태그 안에서 만든 회원가입 button 때문이였다. 안의 은 default 속성으로 submit 타입을 갖고 있다. 그래서 버튼을 누를 때마다 POST reques.. 2023. 4. 5.
다익스트라(Dijkstra) 알고리즘 - 자바스크립트 코드 예제 다익스트라 알고리즘은 다이나믹 프로그래밍을 활용한 대표적인 최단 경로 탐색 알고리즘이다. 특정한 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 알려준다. 참고로 거리가 양수일 때만 사용할 수 있다. 다익스트라 알고리즘은 다이나믹 프로그래밍 문제이기도 하는데, 최단 거리는 여러 개의 최단 거리로 이루어져 있기 때문이다. 다익스트라는 하나의 최단 거리를 구할 때 그 이전까지 구했던 최단 거리 정보를 그대로 사용한다는 특징이 있다. 다익스트라 알고리즘은 그래프와, 우선순위 큐(이진 힙 버전) 개념을 알고 있어야 한다. 작동과정 1. 출발 노드를 설정한다. 2. 출발 노드를 기준으로 각 노드의 최소 거리을 저장한다. 3. 방문하지 않은 노드 중에서 가장 거리가 작은 노드를 선택한다. 4. 해당 노드를 거.. 2023. 3. 31.
[프로그래머스/JS] Lv2. 배달 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 a와 b를 잇는 도로가 여러 개 있을 수 있다. 문제 풀이 1. 노드별 거리를 무한으로 하는 배열 생성(1부터 사용하기 위해 N+1의 배열 생성) 2. 인접한 노드별 가중치의 정보를 담고 있는 배열 생성 3. 인접한 노드별 가중치의 정보를 담고 있는 배열에 데이터 추가 4. 1번 마을에서부터 우선순위 큐 시작 및 초기값 0 할당 5. 우선순위 큐 배열에 값이 없을 때까지 반복 6. 연결된 노드에서의 값이 현재의 값 + 해당 노드의 가중치보다 클 경우, 값을 대체하고 우선순위 큐에 데이터 추가 .. 2023. 3. 31.
[프로그래머스] Lv2. 타겟 넘버 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 numbers 순서는 바꾸지 않는다. numbers를 적절히 더하거나 빼서 target을 만들면 된다. 정답 코드 기본적인 DFS문제이다. 제한사항 범위가 작아 DFS로 풀어도 되겠다고 생각했다. DFS는 깊이 우선 탐색인 트리구조 알고리즘이다. 마지막 level 끝까지 탐색한다. function solution(numbers, target) { let answer = 0; function dfs(level, sum) { // 마지막 level 만날때까지 if (level === numbers.. 2023. 3. 29.
[프로그래머스] Lv2. 행렬의 곱셈 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 곱할 수 있는 배열만 주어진다. 정답 코드 행렬의 곱셈에 대해 알고 있어야 한다. 나는 몰라서 찾아봤다. 나의 코드 function solution(arr1, arr2) { let arr = new Array(arr1.length).fill(0); let answer = arr.map((el) => (el = new Array(arr1[0].length).fill(0))); for (let i = 0; i < arr1.length; i++) { for (let j = 0; j < arr1[i].. 2023. 3. 29.
[프로그래머스] Lv2. 땅따먹기 다시 풀어도 모르겠고, 답을 봐도 모르겠다!!! 그래서 기록하기,, 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 땅은 총 N행 4열이다. 한 행씩 내려올 때 같은 열은 연속해서 밟을 수 없다. 정답 코드 function solution(land) { let answer = 0; for (let i = 1; i < land.length; i++) { for (let j = 0; j < 4; j++) { // 얕은 복사본(원본 배열 수정 X) let arr = land[i - 1].slice(); // 그 전 열의 값을 가장 낮은값으로 설정.. 2023. 3. 28.
[JS] 배열에 있는 값을 객체로 만드는 법(키:배열의 값, 값:해당 값의 개수) 배열에 있는 값을 객체로 만들고 싶었다. 키는 배열의 값으로, 키에 할당되는 값은 해당 값의 개수로 말이다. 예를 들어, [1, 3, 2, 5, 4, 5, 2, 3] 가 주어졌을 때, { '1': 1, '2': 2, '3': 2, '4': 1, '5': 2 } 이러한 객체로 만들고 싶었다. 가장 많이 사용하는 방법과 한 줄의 코드로 간편하게 작성하는 방법 2가지를 가져왔다. 방법1 let tangerine = [1, 3, 2, 5, 4, 5, 2, 3]; let obj = {}; for (let i = 0; i < tangerine.length; i++) { let el = tangerine[i]; if (obj.hasOwnProperty(el)) obj[el] += 1; else obj[el] = 1;.. 2023. 3. 28.
이벤트 버블링이 되지 않았던 문제 해결하기 아래의 게시물도 참고해서 확인해주시면 좋을 거 같습니다! 마우스 포인터가 요소를 벗어나지 않았음에도 onMouseOut 이벤트가 실행되는 이유 + 해결방법 이전에 노션에 정리를 해둔 내용이나, 제대로 정리되지 않은 부분이 있어 블로깅을 하게 되었다. 그리고 노션은 나만 보기도 하니깐! 문제상황 나는 아이콘에 mouse를 hover했을 때 dropdown 메뉴가 1two13.tistory.com 문제상황 나는 아이콘에 mouse를 hover했을 때 dropdown 메뉴가 화면에 노출되고, 메뉴 안에 있는 값을 클릭했을 때 해당 값이 선택되도록 구현하고 싶었다. dropdown 메뉴를 구현하기 위해 에게 onMouseOver 이벤트와 onMouseOut 이벤트를 등록한 상황이다. 두 번째로 확인되는 문제점은.. 2023. 3. 26.
마우스 포인터가 요소를 벗어나지 않았음에도 onMouseOut 이벤트가 실행되는 이유 + 해결방법 이전에 노션에 정리를 해둔 내용이나, 제대로 정리되지 않은 부분이 있어 블로깅을 하게 되었다. 그리고 노션은 나만 보기도 하니깐! 문제상황 나는 아이콘에 mouse를 hover했을 때 dropdown 메뉴가 화면에 노출되고, 메뉴 안에 있는 값을 클릭했을 때 해당 값이 선택되도록 구현하고 싶었다. dropdown 메뉴를 구현하기 위해 에게 onMouseOver 이벤트와 onMouseOut 이벤트를 등록한 상황이다. 근데 여기서 확인되는 첫 번째 문제점이 있었다. 선택된 영역 위에, 즉 div 위에 마우스를 올렸을 때 onMouseOver 이벤트만 발생되어야 하는데, onMouseOut 이벤트도 발생되는 문제점이 있었다. 참고로 onMouseOut 이벤트는 마우스의 커서가 해당 요소에서 위치하다가 빠져나갈.. 2023. 3. 26.
728x90
반응형