신입 개발자가 되기까지/프로젝트
HuggingFace 모델 업로드 및 모델 로드
모델을 파인튜닝한 이후 GitHub에 업로드하여 버전 관리와 공유를 진행하려 했으나, 모델 파일의 용량이 커 GitHub의 업로드 제한을 초과하는 문제가 발생했다.Git LFS를 사용하는 방법도 있었지만, 모델 자체를 배포하고 재사용하기에는 다소 번거롭다고 판단했다. 그래서 대안으로 Hugging Face Hub를 사용해 모델을 배포하기로 했다.Hugging Face는 대규모 모델 파일을 관리하기에 적합하고, 모델의 목적과 사용법을 함께 정리할 수 있어 ㅍ관리 측면에도 장점이 있었다. 모델 업로드를 위해 가장 먼저 해야 할 일은 Hugging Face Access Token 발급이다.이 토큰을 통해 로컬 환경에서 Hugging Face Hub에 인증하고, 학습한 모델을 직접 업로드할 수 있다. 먼저 H..
coding test/Baekjoon
[Python] 12100번. 2048 (Easy)
문제 링크성능 요약메모리: 32412 KB, 시간: 120 ms분류구현, 브루트포스 알고리즘, 시뮬레이션, 백트래킹 # 1.입력/변수 정의N=int(input())board=[list(map(int,input().split())) for _ in range(N)]ans=0 # 2.알고리즘"""DFS를 이용한다.1. 한쪽 방향으로 보드를 민다(왼쪽 방향으로)2. 민 보드를 계산한다3. 계산된 보드는 다음 DFS로 넘긴다4. 보드를 회전한다-> 4방향으로 계속 돌려야하므로 총 모든 경우의 수는 4^5=1024"""def rotate(b): return list(zip(*b[::-1]))def move_left(b): new_board=[] for row in b: tmp=[x f..
coding test/Baekjoon
[Python] 14502번. 연구소
문제 링크성능 요약메모리: 32412 KB, 시간: 1456 ms분류구현, 그래프 이론, 브루트포스 알고리즘, 그래프 탐색, 너비 우선 탐색, 격자 그래프 처음에 풀 때 자꾸 틀리길래 그 이유를 계속 못 찾다가 dfs 함수의 종료 순서 때문에 틀렸다는 것을 알게 되었다. 처음 짠 코드는 `#범위를 넘어서면`→ `#만약 벽을 3개 세웠다면` 해당 순서로 종료 조건을 주었는데 이렇게 되면 벽을 3개 다 세운 경우에도 `n >= len(loc0)`이면 BFS를 아예 안 돌고 종료돼서 ans가 갱신될 기회 자체가 없게 된다는 것을 알게 되었다.`#만약 벽을 3개 세웠다면` → `#범위를 넘어서면`순서로 종료 조건을 주어서 무사히 통과할 수 있었다.이번 풀이를 통해 종료 조건의 순서 또한 중요하다는 것을 알 수 ..
coding test/Baekjoon
[Python] 23796번. 2,147,483,648 게임
문제 링크성능 요약메모리: 32412 KB, 시간: 36 ms분류구현 첫 제출은 하드코딩으로 구현하여 보았다.더보기#1.입력matrix=[list(map(int,input().split())) for _ in range(8)]cmd=input()#2.자료형 정의#3.동작 알고리즘'''한줄씩 가져온다 U: row -> matrix[0][c]~matrix[7][c]D: row -> matrix[7][c]~matrix[0][c]L: col -> matrix[r][0]~matrix[r][7]R: col -> matrix[r][7]~matrix[r][0]시작은 1부터 -> 그 다음 칸을 한칸씩 땡기기visited를 통해 현재 칸이 합쳐졌다면 합치지 않는다'''def move(cmd): visited=[[Fa..
coding test/Baekjoon
[Python] 13460번. 구슬 탈출 2
문제 링크성능 요약메모리: 35176 KB, 시간: 60 ms분류구현, 그래프 이론, 그래프 탐색, 시뮬레이션, 너비 우선 탐색 from collections import dequedir=((-1,0),(1,0),(0,-1),(0,1))#1.입력N,M=map(int,input().split())matrix=[list(input()) for _ in range(N)]#2.자료형 정의#빨간,파란 구슬 각각의 위치를 생각해야하므로 visited는 4차원이여야함visited=[[[[False]*M for _ in range(N)] for _ in range(M)] for _ in range(N)]#빨간구슬,파란구슬 위치 저장for y in range(N): for x in ..
coding test/Baekjoon
[Python] 5430번. AC
문제 링크성능 요약메모리: 223272 KB, 시간: 2508 ms분류덱, 파싱, 구현, 문자열, 자료 구조T=int(input())for _ in range(T): flag=False P=list(input()) n=int(input()) lst=input()[1:-1] if len(lst): lst=list(map(int,lst.split(','))) odd=0 start,end=0,n for p in P: if p=='R': odd+=1 elif p=='D': # 에러가 발생한 경우 if end 계속 틀렸던 이유1. 단순 print(list)로 리스트 출력 시 ..
coding test/Baekjoon
[Python] 11438번 LCA 2
https://www.acmicpc.net/problem/11438
coding test/SW Expert Academy
[Python] 1855번 영준이의 진짜 BFS
문제 링크 성능 요약메모리: 115,304 KB, 시간: 9,187 ms, 코드길이: 1,210 Bytes from collections import deque # 큐 순서 정하기def bfs(x): lst=[x] queue=deque() queue.append(x) while queue: q=queue.popleft() for nq in child[q]: lst.append(nq) queue.append(nq) return lst def cal_depth(): queue=deque() queue.append(1) d[1]=0 while queue: x=queu..
coding test/Baekjoon
[Python] 3584번 가장 가까운 공통 조상
https://www.acmicpc.net/problem/3584# 1번 풀이T=int(input()) # 테스트 케이스의 개수 Tfor _ in range(T): # 1.입력 N=int(input()) # 전체 노드의 수 N parent=[0]*(N+1) for _ in range(N-1): u,v=map(int,input().split()) parent[v]=u A,B=map(int,input().split()) # 2.자료형 정의 ancestors=set() # 3.알고리즘 # 3-1. A 조상 찾기 while A: ancestors.add(A) A=parent[A] # 3-2..