I/O Completion Port
·
Camp/Challenge
https://flowery-scarf-deb.notion.site/I-O-Completion-Port-IOCP-9e7399ddfe1e4a2d97a5bc3f5fcdfbc7 I/O Completion Port(IOCP) | Notion현대 네트워크 환경에서의 의의flowery-scarf-deb.notion.site 과제 제출용으로 노션에 정리해 두었다.
BCNF 정규화
·
Camp/Challenge
https://flowery-scarf-deb.notion.site/BCNF-aef78e9d63634cf5b78c2f8952a0dd86?pvs=74 BCNF 정규화 | Notion정규화란?flowery-scarf-deb.notion.site 과제 제출용으로 노션에 정리해 두었다.
[TIL #29] 점 찍기
·
Camp/T.I.L.
https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 변의 길이가 d인 정사각형에 k의 간격으로 점을 찍는 문제. 최초 접근은 피타고라스 정리를 매 사이클마다 계산하지 않고 $\sqrt{2} ≒ 1.414...$를 활용하려고 했다.이러면 숫자가 커질수록 발생하는 오차를 말끔히 해결할 수 없다는 걸 깨닫고 선회. 다음 방법은 이것.function solution(k, d) { let count = 0; const dSquared..
[TIL #28] Investments in 2016
·
Camp/T.I.L.
https://leetcode.com/problems/investments-in-2016/description/ 질문이 바로 이해가 가지 않아, 질문 이해에 약간의 시간이 더 투자된 문제. 같은 tiv_2015의 값을 공유하는 레코드가 2개 이상 존재하는 레코드위도와 경도가 같지 않은(같은 위치가 아니고 고유한) 레코드이 레코드들을 찾아서 각각의 tiv_2016값을 더해서 소수점 2자리까지 반올림진짜 이런 요구 사항이 실제로 존재할진 모르겠지만... 문제도 잘 다가오지 않고, 힌트도 이런 상황이다.당연한 걸 힌트랍시고 준 걸 보면, 너무 간단한 문제라고 생각했나 보다. 처음엔 문제를 제대로 이해하지 못해 "윈도우 함수로 밀면서 같고 다른 걸 체크해야 하나?" 같은,이상한 의문에 빠져있었다...
[TIL #27] 호텔 대실
·
Camp/T.I.L.
https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 왠지 이전에 했던 주차장 관리가 생각나던 문제.이 문제의 난도가 더 낮았던 것 같다. 시간들을 다 분으로 변환하고시작 시간 기준으로 정렬시간을 비교하며 최대 방 개수 관리이거면 끝나는 문제.  // 분단위 관리, 종료시간에 청소시간 추가let events = [];for (const [start, end] of book_time) { // 숫자만 남김 const [startHour, st..
[TIL #26] 함수 오버로딩의 함정
·
Camp/T.I.L.
정처기 실기 문제엔 다음과 같은 유형의 프로그래밍 문제가 나온다. // 다음 프로그램의 실행 순서가 어떻게 되는지 맞춰라!// 5 -> ...class Parent { int x, y; Parent(int x, int y) { // 1 this.x = x; this.y = y; } int getT() { // 2 return x * y; }}class Child extends Parent { int x; Child(int x) { // 3 super(x + 1, x); this.x = x; } int getT(int n) { // 4 return super.getT() + n; ..
[TIL #25] 전력망을 둘로 나누기
·
Camp/T.I.L.
https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이제 이런 DFS 문제는 그렇게까지 부담스럽진 않은 것 같다.노드가 연결돼 있는 걸 뜯어보는 데엔 인접리스트가 좋은 방법이 될 것이다. 이런 네트워크가 있다고 했을 때, 어디를 끊어야 최대한 균형이 맞는 형태로 망을 나눌 수 있을 것인가?위 그림에선 [3, 4]나 [4, 7]이 유이한 해가 될 것이다. 모든 연결에 대해 끊어보면서 확인할 수 있을 것 같다.브루트 포스가 무식한 방법일 수도 있지만, 현..
[KPT 회고] 타워 디펜스 프로젝트의 KPT
·
Camp/Project
타워 디펜스 프로젝트가 완료되었습니다!지금까지의 프로젝트 중에선 역시 가장 만만하지 않았던 것 같습니다.그래도 꽤 좋은 결과가 나와서 기억에 남는 팀 프로젝트 및 팀원들이 될 것 같습니다...! 하지만, 빛을 받으면 그림자가 지는 법입니다.만족스러운 프로젝트 진행이었지만,여기에도 계속할 것(Keep), 문제였던 것(Problem) 그리고 해볼 법한 것(Try)이 존재합니다. 이번 타워 디펜스 프로젝트의 KPT는 다음과 같습니다. Keep사소한 작업도 코드 공유가 되어 팀원 전체의 프로젝트 이해도를 높인 것새로운 기능 추가를 위한 충분한 안정성 고려좋은 팀 분위기가 유지가 되어 소통에 잘 이루어 짐기능 추가를 위한 동기부여가 잘 되어 선순환이 되었음 Problem새 기능 추가를 위한 확장성에 대한 설계가 ..
[TIL #24] 행렬 테두리 회전하기
·
Camp/T.I.L.
https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이러한 행렬이 있다고 가정하자.여기서 특정 부분을 회전해야 하는데, 그 영역은 다음과 같이 주어진다.(x1, y1, x2, y2) 만약 (2, 2, 5, 4)라고 했을 때, 회전은 다음과 같이 이루어져야 한다.좌표는 배열의 실제 인덱스에 1이 더해진 형태로 주어짐을 알 수 있다. 사실 이런 문제만 나오면 쫄기만 했다.다차원 배열의 원소의 위치를 바꾼다는 게 머릿속에 잘 그려지지 않았기 ..
[TIL #23] Product Price at a Given Date
·
Camp/T.I.L.
https://leetcode.com/problems/product-price-at-a-given-date/ 테이블 Product는 어떤 상품의 새로운 가격과 변경된 날짜의 정보를 갖고 있다.2019-08-16의 모든 상품의 가격 정보를 가져와야 한다.만약 변경 이력이 없을 경우 10으로 간주한다. 문제에서 준 예시는 이렇다. 이걸 보면서 생각을 해 보자. 일단 2019-08-16 후의 날짜는 다 쳐내야 한다change_date를 기준하여 내림차순으로 정렬그리고 product_id 별 가장 빠른 날자의 가격을 확인 - 여기까지 별도의 쿼리로 둔다이러면 기준 날짜 뒤에만 변경 로그가 있는 상품은 모르게 된다기준 날짜 이전에 변경 로그가 없는 상품 아이디를 찾아 가격에 `..