문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이 문제는 누적합 알고리즘을 이용한 문제이다. 처음에는 어떤 알고리즘을 적용해야할지 의문이 들었다. 처음에는 DP 알고리즘을 이용해 각 시간을 초 단위로 구분해 시청자를 구했다. 그렇지만 이 문제는 시청자 수를 구하는 문제가 아닌 가장 많은 시청 시간을 갖는 시간대를 구하는 문제이다. 결국 누적합 알고리즘을 적용해 기존에 구해둔 시청자수를 이용해 누적 시청 시간을 구했다. 이 문제와 같이 자료의 수는 많아 2중 반복을 할 수 없으며, 이전까지의 결과값이 필요하고 범위가 지정되어 있는 문제의 경우는 누적합 알고리즘을 이용한 접근법 설계를 학습할 수 ..
분류 전체보기
개발자인 친구(FrontEnd개발자)와 그 친구의 친구(BackEnd 개발자)와 함께 내 생에 첫 외주 프로젝트를 진행했다.이번 글에서는 첫 외주를 진행하며 내가 느낀 경험을 정리하듯이 작성할 예정입니당 프로젝트를 진행하며프로젝트는 온라인 쇼핑몰의 백오피스 웹이며, 사용자가 N 플랫폼의 쇼핑 및 플레이스 서비스에 등록한 목록들의 관리가 주된 목적이였다. 처음 기획안을 봤을때는 "아이 뭐, 어려울줄 알았는데 괜찬네?ㅋ" 라는 반응이였지만, 이러한 생각은 그리 오래가지 못했다. 첫 번째 시련. feat_데이터_차트나는 데이터를 2차원 배열 형식 차트 테이블 컴포넌트를 개발을 담당했다. 단순한 차트 테이블이 아닌 입력할 수 있는 필드가 있는 컴포넌트이며, 입력시 입력한 문자열의 길이만큼 필드의 너비가 넓어져야..
문제https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이해당 문제는 각 기둥과 보의 설치/삭제에 대한 조건이 까다로운 문제이다. 나머지는 그닥 어려운 문제는 아니다. 우선 기둥의 설치부터 살펴보자.문제에서 기둥이 설치될 수 있는 조건을 아래와 같이 정의했다.기둥은 y가 0인 바닥일 때다른 기둥의 위일때보의 양끝(왼쪽 오른쪽)일때그렇다면 4가지 이외의 설치는 안된다는 것이다. 이를 이용해 기둥를 설치할 수 있는지 판별하는 함수를 만들어 주자. 그리고 보의 설치에 대한 조건을 알아보자.문제에서 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42892 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드function solution(nodeinfo) { class Binary { constructor(idx, xPos) { this.idx = idx; this.xPos = xPos; this.left = null; this.right = null; } insert(idx, xPos) { if (xPos > this.xPos) { this.toRight(idx,..
프로젝트에서 2차원 표 형식의 테이블에 input 태그를 이용해 값을 렌더링하는 부분이 있었다. 이 부분에서 수정이 가능해야 한다는 기능 요구가 있었다.그래서 각 input 태그의 onChange 속성에 핸들러 함수를 할당했지만 한번 입력하면 포커스아웃되는 이슈가 있었다.{ tableData.map((data, idx) => { return ( { data.map((info, i) => { if (info.type === 'checkbox') { return ( ) } ..
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이 문제는 오늘 서류 합격된 회사 코테를 보며 못푼 문제여서 분해서 풀게된 문제다....(분하다...) 이 문제는 각 상담원의 조합들 중 최적의 조합을 선택하는 문제이다. 상담의 종류가 최대 5개이고 상담건수가 최대 300개 이기 때문에 완전 탐색을 진행해도 시간복잡도가 여유로운 편이다.아오 이걸 테스트때 이상한 방법으로 접근했어.... 조합을 구했다면 각 상담원의 인원수에 맞게 총 걸린시간과 상담 종류를 갖는 자료를 만든다.이 자료를 사용하며 구현해야 하는 조건은 다음과 같다. 우선 대기중인 인원은 끝나는 시간이 가장 빠른 상담원과 연결된다. 그..