목록내일배움캠프 (74)
개발자 박가나
📌 오늘의 TIL알고리즘 문제 풀이 실패 원인 파악 (해결 완료)[React 입문] 강의 수강 알고리즘 '피보나치 수' 문제 풀이 /* 실패 코드 */function solution(n) { let answer = [0, 1]; for (let i = 2; i 코드를 작성하는 것은 별로 어렵지 않았는데 시간 초과도 아닌 실패가 발생을 했다. 아무리 생각을 해도 코드적으로는 원인을 찾지 못해서 커뮤니티에 들어갔는데 값이 엄청나게 커지는 경우 실패할 수 있다는 얘기가 있었고, 최종적으로 다음과 같이 해결하였다.A를 B로 나눈 나머지는 A가 B보다 작아질 때까지 A에서 B를 빼고 남은 값이다.즉, 모두 더한 뒤 B * n을 빼는 것과 더하는 과정마다 B * m을 빼는 것의 결과는 동일하다./*..
'영화 사이트 만들기' 프로젝트를 생각보다 일찍 마무리 하게 되면서 3일 정도 JavaScript 개념에 대해 복습을 하는 시간을 가지게 되었고, 단순히 이해만 하는 것보다는 정리를 해놓는 것이 좋을 것 같아서 Notion에 정리를 하기 시작했다. 어느정도 이해를 했다고 생각했는데 막상 나만의 언어로 정리를 하려고 보니 선뜻 문장이 떠오르지 않는 경우가 많았고, 하나의 개념을 정리하는데 몇 시간을 소요하기도 하였다. 하지만 이러한 과정을 거치면서 해당 내용에 대한 이해도를 한 층 더 높일 수 있었다. 콜백 함수와 비동기 제어, DOM, 클래스, 클로저에 대한 내용도 추가적으로 작성할 예정이다. JavaScript의 역사와 특징 | Notion역사heathered-ceramic-3f2.notion.sit..
팀원들과 서로의 프로젝트 결과물을 확인한 뒤 궁금한 점을 질문하고 피드백도 해주는 시간을 가졌다. 이미 과제를 제출해서 관련 내용을 반영하진 못했지만 튜터님들의 피드백까지 받은 후에 시간을 내서 프로젝트를 보완하는 시간을 가질 것이다. [영화 사이트 만들기] 프로젝트 잘한 부분전체적인 UI 및 반응형 구현이 깔끔하다.북마크 모드에서는 검색창을 없앰으로써 영화 찾기보다는 북마크 목록을 보여주는 페이지라는 역할이 명확해 보였다.북마크를 제거할 경우, 화면을 새로 고치지 않아도 실시간으로 목록에서 제거가 된다.무한 스크롤 기능을 구현함으로써 20개의 데이터가 아닌 보다 많은 데이터를 제공해 주었다. 아쉬운 부분포스터 데이터가 없는 영화의 경우, 대체 이미지 처리를 하지 않았다.영화 상세 정보 modal ..
알고리즘 문제 풀이 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1차 시도코드 흐름호명된 선수 목록을 순회하면서 현재 등수 추출추월당한 선수 확인호명된 선수와 추월당한 선수의 순위 변경실행 결과일부 테스트 케이스에서 시간 초과 발생예상 원인 indexOf()의 경우, 배열 요소를 하나하나 순회하면서 조건에 맞는 요소를 추출하는 방식이기 때문에 최대 50,000의 길이를 가진 players 배열을 매번 순회하는 것은 바람직하지 않음function solution(players, callings) { for (let overPlayer of callings) { let overInde..
알고리즘 문제 풀이 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 참고조건문 사용 시, truthy한 값과 falsy한 값 이용falsy한 값 : false / null / undefined / 0 / NaN / ‘ ‘truthy한 값 : falsy한 값을 제외한 모든 값/* 내 코드 */function solution(num) { return num % 2 === 0 ? 'Even' : 'Odd';}/* 참고 코드 */function solution(num) { return num % 2 ? 'Odd' : 'Even';} 프로그래머스코드 중심..
오늘까지 해서 '영화 사이트 만들기' 프로젝트를 마무리하게 되어 결과물 공유로 TIL을 대신하고자 한다. [영화 사이트 만들기] 프로젝트 구현한 기능영화 목록페이지 로드 시 영화 데이터 20개 가져와서 화면에 보여주기스크롤을 통해 페이지 최하단에 도착할 때마다 영화 데이터 20개 추가로 가져와서 화면에 붙여주기검색검색한 키워드가 제목에 포함된 영화만 추출해서 보기입력 값이 변경될 때마다 실시간으로 검색 수행하기북마크영화 상세 정보 modal 창에서 북마크 추가 및 삭제하기북마크한 영화만 추출해서 화면에 보여주기 배포 링크 영화 사이트 parkgana.github.io Github Repository GitHub - ParkGana/sparta-project-movieContribute to ParkG..
알고리즘 문제 풀이 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1차 시도배열을 이용해서 변수 선언 (0번째 index가 x 좌표, 1번째 index가 y좌표)x, y 좌표를 각각의 변수가 아닌 하나의 배열로 선언하고 index로 접근하다보니 코드 상에서 봤을 때 어떤 값을 의미하는지 명확하지 않음function solution(numbers, hand) { let answer = ''; const keypad = [ [1, 3], [0, 0], [1, 0], [2, 0], [0, ..
알고리즘 문제 풀이 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1차 시도코드 흐름Set 객체를 이용해서 중복 데이터 제거유저 목록을 순회하면서 i번째 유저가 신고한 내역 추출2번에서 추출한 내역을 순회하면서 j번째 유저가 신고 당한 횟수 추출3번에서 추출한 횟수가 k번 이상일 경우 i번째 유저에게 메일 발송실행 결과일부 테스트 케이스에서 시간 초과 발생예상 원인 filter()의 경우, 배열 요소를 하나하나 순회하면서 조건에 맞는 요소를 추출하는 방식이기 때문에 최대 200,000의 길이를 가진 report 배열을 매번 순회하는 것은 바람직하지 않음fu..
Today 1. Github에 알고리즘 Repository 생성 GitHub - ParkGana/algorithm-javascriptContribute to ParkGana/algorithm-javascript development by creating an account on GitHub.github.com지금까지는 알고리즘 문제를 풀면 velog에 포스팅을 하는 방식으로 정리를 해왔었다. 그러다 알고리즘 특강 시간에 Github Repository로 관리하는 방법을 듣게 되면서 블로그 포스팅보다 관리하기도, 나중에 다시 찾아보기도 훨씬 수월하겠다는 생각과 함께 왜 이 방법을 생각하지 못했을까? 싶었다. 알게 된 김에 바로 실천으로 옮기자는 생각으로 Github Repository를 생성하고 특강 시..
Today 1. 알고리즘 문제 풀이 [신고 결과 받기] 문제 풀이일부 테스트 케이스에서 시간 초과 오류 발생내일 한 번 더 시도해보고 해결하지 못할 경우 답안 참고 예정function solution(id_list, report, k) { let result = Array.from({ length: id_list.length }, () => 0) // 중복 신고 제거 (한 유저가 동일한 유저를 여러번 신고해도 1회로 처리) report = Array.from(new Set(report)) for (let i = 0; i item.split(' ')[0] === id_list[i]) for (let j = 0; j { ..