[백준] 주사위 굴리기
사실 100% 구현 문제라 특별한 알고리즘은 없긴 한데, 주사위 굴리기 구현 발상이 나름대로 괜찮은 것 같아서 적어본다. 백준 14499번: 주사위 굴리기 아래로는 전체 문제 내용 정리는 없고, 주사위 알고리즘에 대해서만 설명한다. 1. 초기 주사위 상태 보드 위에서 주사위가 굴러갈 방향에 따라(동, 서, 남, 북) 어떻게 주사위 면면이 달라지...
사실 100% 구현 문제라 특별한 알고리즘은 없긴 한데, 주사위 굴리기 구현 발상이 나름대로 괜찮은 것 같아서 적어본다. 백준 14499번: 주사위 굴리기 아래로는 전체 문제 내용 정리는 없고, 주사위 알고리즘에 대해서만 설명한다. 1. 초기 주사위 상태 보드 위에서 주사위가 굴러갈 방향에 따라(동, 서, 남, 북) 어떻게 주사위 면면이 달라지...
이번에 우아한 테크코스 프리코스 4주 과정(10.15 ~ 11.12) 에 참가했다. 아무래도 참가한 인원이 정말 많고, 특히 백엔드의 경우 1000명이 넘는 인원이 참가하는지라 주차별 미션 하나하나에 개인적 피드백을 하기 보다는 공통 피드백이 주어졌다. 전공자거나 미리 클린코드 혹은 객체지향 코드를 알고있다면 익숙한 내용들이 다수 있을 테지만, 나처...
1. 코루틴 Coroutine 파이썬에서 코루틴은 Co(operative) + routine 의 합성어로, 메인 루틴과 서브 루틴이 서로 협력한다는 뜻을 가지고 있다. 즉 시간이 많이 걸리는 메인 루틴은 해당 작업이 완료되게 기다리고, 그 동안 다른 작업은 서브루틴이 처리 가능하다. 이것이 가능한 이유는 코루틴은 실행을 중단했다가 다른 작업을 수...
공식문서 참조 1. 연관된 테이블 만들기 지금까지는 단 하나의 테이블에서만 데이터를 불러왔다. 하지만 서로 연관없는 데이터들을 분리하기 위해 테이블을 여러개로 나누는 경우가 많다. 예를 들어보자 Hero table id name secret_name age team_name ...
공식문서 참조 1. UPDATE 앞서서 데이터를 만들고 조회하는 것 까지 알아보았다. 이제 만들어진 데이터를 수정해보자. SQLModel 에서는 따로 수정하기 위한 메서드는 있지 않는 듯 하다. 대신 앞서서 데이터를 조회한 후, 해당 객체의 값을 직접 수정해주면 된다. 아래는 공식 문서에서 제공하는 코드이다. def update_heroes(...
공식문서 참조 1. INSERT INTO… 테이블을 만들었으니 데이터를 넣어보자. 순서는 다음과 같다. Engine을 통해 Session을 만든다. Session을 통해 쿼리를 작성한다. commit Session 종료 1.1 Session 반환 함수 async def get_async_session(): async_...
공식문서 참조 1. SQLModel이란? 백엔드를 구성하다 보면 파이썬의 타입 검증 라이브러리 Pydantic과 파이썬 ORM sqlalchemy를 동시에 써야 할 경우가 굉장히 많다. 이로 인해 db에 쓰일 스키마와, 백엔드 코드에 쓸 스키마를 따로 구성해야 하기 때문에 코드의 양이 늘어나고, 실수확률이 올라가 불편하다. 이때, 이 두 가지 ...
1. 세그먼트 트리 소개 세그먼트 트리(Segment Tree)는 트리에 속한 자료구조 중 하나로, 주로 배열 내의 범위에 대한 질의에 대해 사용한다. 주요 사용처는 아래와 같다. 전제조건: 리스트가 주어진다. ex) [1,2,7,6,9,4,66,9,1,…] 주어진 리스트에서 이하의 값을 구할 때 사용된다. 구간 질의: 주어진 범위 내의 합...
0. 초안 최근 축구 사이트를 만들어보면서 축구경기와 관련된 많은 데이터를 다루는 기회가 생겼다. 축구에서는 그 선수의 경기 내 활약을 평점 으로 기록하는 점수법이 있는데, 그 평점 시스템을 DNN으로 충분히 만들 수 있을 것 같았다. 흐름은 아래와 같다. 축구선수의 경기 활약은 스텟에 기록된다. ex) 골, 어시스트, 플레잉 시간, 패스성...
1. 위상정렬에 대해 위상정렬은 방향 그래프에서 사용되는 알고리즘 중 하나이다. 주로 모든 노드의 방향이 한쪽으로 정렬된 경우에 사용 가능하고(순서가 존재해야 함), 그래프에 사이클이 존재한다면 사용 불가능하다.(방향이 없어지기 때문.) 실제 알고리즘에서는 A를 수행하기 위한 선행조건 B가 있는 경우에 주로 사용된다. 알고리즘 문제에 등장하는 몇...