목록리뷰 (26)
Always awake

안녕하세요, 거의 딱 1년 만에 글을 쓰네요.그동안 여러가지 활동 시도해 보느라 바쁘기도 했고, 소마 포트폴리오 작성 등을 하다 보니 기록의 중요성을 체감하게 되어 기록으로 남겨볼까 합니다. 1. SW마에스트로란?정부 과학기술정보통신부에서 지원하는...... 사실 여기까지 들어오신 분들이면 이미 다 대충 어떤 프로젝트인지 알고 계실 것이라고 생각합니다. 나무위키나 사이트 들어가서 직접 확인하시는 게 더 좋을 것 같아요.https://namu.wiki/w/SW%20Maestro SW Maestro2010년부터 시작한 최우수 SW 인재를 발굴하여, 체계적이고 파격적인 지원을 통해 SW 산업 발전에 기여하기 위해namu.wikihttps://www.swmaestro.org/sw/main/main.do SW..

03/20 DP https://boj.kr/2293 동전 1 (G5) 이제 DP연습해야지.. 처음에는 DP[N][K]로 각 동전마다 돌면서 가지수를 구해줬다. $DP_{ij} = \sum_{k=0} ^{j // i} DP_{i-1j-k*coin}$ 근데 메모리 초과가 나더라?!! 생각해보니 어차피 i-1번째만 참고해서, 한줄로 가능하다! 그리고 여러번 업데이트되는쪽은 자기의 j-coin번째만 참고하면 된다. 따라서 $DP_i = DP_i-coin$을 $i*j$번 돌면 완료! https://boj.kr/2294 동전 2 (G4) 위 문제와 같은 상황이지만, 이번에는 그걸 만족하는 최소 동전수 구하기 비슷한 방법으로 채우면 되지 않을까? 음! 잘 된다. 거의 같은 아이디어네. https://boj.kr/18..

3/13 이분 매칭으로 룩 / 나이트의 움직임의 최대 매칭을 계산할 수 있는데, 시도해보자! 그래프 이분 매칭 https://boj.kr/1017 소수 쌍 (P3) 소수 쌍 이분매칭으로 구하기.. 미리 한개 고정해놓고 하는 느낌? 얘는 구현 하면 그냥 바로 되네 https://boj.kr/9525 룩 배치하기 (P3) 룩의 움직임은 결국 가로먹기 + 세로먹기의 이분 매칭이다.. 미친 풀이.. 진짜 개똑똑하다 사람들. 구현을 어떻게 할지가 고민되긴 하네.. 깔끔하게 쪼개려고하면 조금 신경쓸게 있었지만, 그냥 앞끝 / 뒤끝만 신경면서 가로로 순회한번, 세로로 순회한번 돌면 처리되는 영역이었다. 근데 그거조차 귀찮아서 그냥 다음줄 넘어갈때 / X 만날때 번호 1씩 계속 늘려줘서, 최대 MX는 5000에서 10..
개발 File을 받을때 URL에서 받는게 나을거같아서 수정 그리고 계속 CORS에러가 뜨네. 안났던거같은데,,, 왜이러지? 일단 프론트를 cors예외로 추가는 해보았다. 아니 백에서도 등록할때 내부ip가 아니라 localhost:5173처럼 등록을 해줘야하네? 당황스럽다. 같은 내부망에서는 localhost가 어디서든 먹히나? 파일 올리는게 생각보다 일이구만. 실제 브라우저에서 돌리는건 또 다른 일이구나를 깨닫는중. 아무튼 결국은 파일 잘 올라간다. 여러 파일 한번에도 올라가고, 이제 비동기 업로드까지 구현했다. 기존에 쓰던 shutil 라이브러리의 copyfileobj는 비동기 지원이 안돼서, aiofiles 패키지를 다운받아 구현했다. destination = f"../../SLAMdata/{proj..
개발 유저 id, 파일 id로 주고받는게 위험하진 않을까? 어떻게 주고받지? File Path 우회에는 공격당하지 않나? FastAPI에서 이메일로 인증코드를 주는 것은 어떻게 구현할까? fastapi-mail이라는 기능은 있는거같은데.. SMTP 서버가 필요하다... SMTP란? Simple Mail Transfer Protocol Alembic 업데이트하는데, Nullable하지 않은 컬럼을 추가하려고 했더니 원래 있던 행들때문에 추가가 안됐다! 기본 값을 지정해주면 좋을텐데... 이와 같이 server_default = 를 지정해서 마이그레이션하자.op.add_column( "user_list", sa.Column("is_valid", sa.Boolean(), nullable=False, serve..

투 포인터 S, E 혹은 L, R이라는 두가지 변수를 지정하여, 인덱싱을 저장하고자 한다. (두 포인터) 이후 각 포인터들을 이용하여 목표를 달성하자. 문제의 경우는 [3, 7, 2, 1, 6, 9, 11, 14] 라는 배열에서 합이 9인 연속된 부분을 찾는것 S, E 포인터 모두 인덱스 0번에서 시작하여 현재 합이 9보다 작다면 E를 한칸 오른쪽으로, 크다면 S를 한칸 오른쪽으로 이동하며 값을 구한다. 여러가지 방면에서 활용할 수 있으며, 이때 E-S가 일정하다면 슬라이딩 윈도우 라고 한다. 슬라이딩 윈도우 투 포인터 와 비슷하지만, 두 포인터 사이 간격이 일정해서 마치 유리창을 미닫는 모양이라고 하여 슬라이딩 윈도우라고 불리는 알고리즘 위 그림은 N = 8인 배열에서 K = 3의 길이를 가지는 부분수..

문제 A 씨는 어떤 회사 빌딩의 수위로 일하고 있다. A 씨는 밤 12 시가 되면 이 빌딩 사무실의 켜져 있는 모든 등과 건물 옥상에 있는 전광판을 소등한 후 퇴근한다. 그런데 이 빌딩은 특이한 구조로 이루어져 있다. 각 층에는 동일한 개수의 사무실이 일렬로 늘어서 있고, 건물 양편에 엘리베이터가 있다. 왼쪽에 있는 엘리베이터는 올라갈 때만 탈 수 있는 엘리베이터이고 오른쪽에 있는 엘리베이터는 내려갈 때만 탈 수 있는 엘리베이터이다. 전광판을 끄기 전에는 왼쪽에 있는 엘리베이터만 탈 수 있고, 끈 이후에는 오른쪽에 있는 엘리베이터만 탈 수 있다. 사무실 등은 왼쪽 엘리베이터를 타고 올라가면서 들러 소등할 수도 있고, 오른쪽 엘리베이터를 타고 내려오면서 들러 소등할 수도 있다. A 씨는 왼쪽 엘리베이터 1..

문제 전구 100개가 10×10 정사각형 모양으로 늘어서 있다. 전구에 달린 스위치를 누르면 그 전구와 위, 아래, 왼쪽, 오른쪽에 있는 전구의 상태도 바뀐다. 전구 100개의 상태가 주어지면 모든 전구를 끄기 위해 최소한으로 눌러야 하는 스위치의 개수를 출력하라 입력 10줄에 10글자씩 입력이 주어진다. #은 꺼진 전구고 O(대문자 알파벳 o)는 켜진 전구다. #과 O외에는 입력으로 주어지지 않는다. 출력 모든 전구를 끄기 위해 최소한으로 눌러야 하는 스위치의 개수를 출력하라. 불가능하면 -1를 출력하라. 테스트케이스 #O######## OOO####### #O######## ####OO#### ###O##O### ####OO#### ########## ########O# #######OOO #####..