728x90
반응형

분류 전체보기 337

[Baekjoon 1012 / python / 실버2] 유기농 배추

무난한 BFS 문제이다.상하좌우로 연결된 영역이 몇개인지를 출력하면 된다. # 실버2 -> BFS"""T : 테스트 케이스 개수M : 열 ( 가로길이 )N : 행 ( 세로길이 )K : 심어진 배추 개수table : 1은 배추, 2는 방문한 곳"""from collections import dequeimport sysinput = sys.stdin.readlineT = int(input())dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]# 테이블 내에 있고, 배추인지 확인하는 함수def going_no_going(nx, ny, table):    if 0 nx N and 0 ny M and table[nx][ny] == 1:        return True    return Fa..

Algorithm/BFS 2025.02.07

[Baekjoon 11660 / python / 실버1] 구간 합 구하기 5

누적 합, DP 문제이다.2차원 리스트를 사용하기 때문에 단일 리스트보단 조금 더 복잡하다. # 실버1 -> 누적 합"""N : 표의 크기M : 합을 구해야 하는 횟수"""import sysinput = sys.stdin.readlineN, M = map(int, input().split())origin = [list(map(int, input().split())) for _ in range(N)]# dp(누적 합)테이블 생성dp = [[0] * (N + 1) for _ in range(N + 1)]for i in range(1, N + 1):    for j in range(1, N + 1):        dp[i][j] = origin[i-1][j-1] + dp[i][j-1] + dp[i-1][j] ..

[Baekjoon 2531 / python / 실버1] 회전 초밥

투 포인터 문제이다.근데 해결방법 고민 하는데 시간복잡도도 그렇고 그냥 구현해도 될 거 같아서 해봤는데 풀려버렸다... 결론은 투 포인터 안 쓰고 그냥 구현으로 풀었다. # 실버1 -> 투 포인터"""N : 회전 초밥 벨트에 놓인 접시의 수D : 초밥의 가짓수(초밥 최대 번호)K : 연속해서 먹어야 하는 접시의 수C : 쿠폰으로 먹을 수 있는 초밥 번호"""import sysinput = sys.stdin.readlineN, D, K, C = map(int, input().split())sushi = [int(input()) for _ in range(N)]count = 0for start in range(N):        choice = [sushi[(start + i) % N] for i in ra..

[Baekjoon 1780 / python / 실버2] 종이의 개수

무난한 분할 정복 문제이다. 재귀함수가 사용된다. # 실버2 -> 분할 정복, 재귀"""N : 1 또는 3의 k승-1, 0, 1 로 이루어진 N * N 행렬하나의 수로 이루어져 있지 않다면 9개로 분할분할을 마친 후, 각 숫자로 이루어진 종이가 몇개인지 출력"""import sysinput = sys.stdin.readlineN = int(input())table = [list(map(int, input().split())) for _ in range(N)]minus, zero, plus = 0, 0, 0def divide(x, y, n):    global minus, zero, plus    prev = table[x][y] # 기준이 될 숫자 설정    for i in range(x, x + n):..

[Baekjoon 1654 / Python / 실버2] 랜선 자르기

이분 탐색 문제이다. 늘 결과 도출 부분에서 묘하게 헷갈린다. # 실버2 -> 이분 탐색"""K : 이미 가지고 있는 랜선의 개수N : 만들어야 할 랜선의 개수data[] : K개 랜선 리스트start : 1 -> 랜선 최소 길이end : max(data) -> 랜선 최대 길이- 랜선 길이를 기준으로 이분 탐색 실시- 반복할 때 마다 조건 검사    -> 해당 길이로 N개 랜선 제작이 가능한지    -> 모든 랜선을 일일이 길이로 나눠 총 랜선 개수 세기- 최대값을 찾아야 하므로 end 출력"""import sysinput = sys.stdin.readlineK, N = map(int, input().split())data = [int(input()) for _ in range(K)]start = 1en..

[Baekjoon 9465 / Python / 실버1] 스티커

DP 문제이다. 언제나 어렵고 새롭고 가장 싫어하는 알고리즘이다. # 실버1 -> DPimport sysinput = sys.stdin.readline# 테스트 케이스 개수T = int(input())for _ in range(T):    N = int(input()) # 스티커 길이    sticker = []    sticker.append(list(map(int, input().split())))    sticker.append(list(map(int, input().split())))    if N == 1:        print(max(sticker[0][0], sticker[1][0]))        continue    dp = [[0] * (N + 1) for _ in range(3)] ..

[Baekjoon 11000 / Python / 골드5] 강의실 배정

그리디, 우선순위 큐 문제이다. # 골드5 -> 그리디, 자료구조, 정렬, 우선순위 큐import heapqimport sysinput = sys.stdin.readlineN = int(input())data = [list(map(int, input().split())) for _ in range(N)]data.sort()# 첫번째 시작하는 수업의 종료시간을 저장# 종료시간은 우선순위가 됨pq = []heapq.heappush(pq, data[0][1])for i in range(1, N):    # 다음 수업과 진행중인 수업이 중복되지 않을 경우 진행중 수업 빼기    if data[i][0] >= pq[0]:        heapq.heappop(pq)    heapq.heappush(pq, data..

Algorithm/Greedy 2025.01.23

[Baekjoon 2002 / Python / 실버1] 추월

구현, 문자열, 해시 테이블 문제이다. # 실버1 -> 구현, 자료구조, 문자열, 해시# 들어간 순서 해시 테이블로 저장해두기# 나온 차량 순서 기준으로, 이후 나올 차량의 "들어올 때 인덱스"를 찾아서# 나온 차량의 들어올 때 인덱스가 한 번이라도 더 클 경우 result += 1N = int(input())go_in = dict()come_out = []for i in range(N):    go_in[input()] = ifor i in range(N):    come_out.append(input())result = 0for i in range(len(go_in) - 1):    # 현재 나온 차량의, 들어올 때 순서    out_car = go_in[come_out[i]]    # 이후 나올 차..

메멘토AI의 폐업, 그리고 실직

메멘토AI는 내 인생 첫 번째 회사이다. 인턴으로 취업하여 한 달의 인턴기간을 거치고, 정직원이 되어 한달 반을 일하고 3번의 월급을 채 받지 못했을 때 나는 실직했다. 실력이 형편없어 짤린 것도 아니고 고된 업무를 버티지 못해 스스로 퇴사한 것도 아니다. 우리 회사는 꽤 큰 모기업이 있는 자회사였다. 모기업은 병원과 관련된 사업을 하는 회사인데, IT쪽도 발을 들이고 싶어 메멘토AI라는 자회사를 만든 것으로 보인다. 그 과정에서 메멘토AI의 대표님이 고용되고, 또 나머지 직원들이 고용되어 일을 하고 있던 것이다. 나도 그 중 하나였다. 이제 막 시작한 스타트업이고, 생긴지 1년도 채 되지 않아 굉장히 바빴다. 최대한 빠르게 만들어 배포하는 것이 최근까지의 회사 방향성이었고, 그렇다 보니 코드 퀄리티의 ..

자유 2025.01.12

VSCode 파이썬 노란색 밑줄 오류 해결법

입사 전 선행학습을 위해 FastAPI 공식문서를 보고 공부하던 중 발생한 오류이다.  2, 3행 fastapi, pydantic 부분에 노란색 밑줄이 쳐져 있다.오류를 확인해 보면,   이런 오류가 뜬다. pydantic도 모듈 이름만 다르고 같은 오류이다. 이 상태에서도 코드는 정상적으로 실행되지만, 저 밑줄을 보고 참을 수 있는 개발자는 없을 것이다.구글링을 해보니 언어 설정을 영어로 바꾸거나, 인터프리터 버전을 바꾸면 대체로 해결된다는 글들이 많았다.일단 언어 설정은 효과가 없었다. 그래서 인터프리터 버전을 바꿔보기로 했다.   일단 내가 파이썬 어떤 버전을 쓰는지 확인해 보았다. 현재 3.11.9를 쓰고 있다.   Ctrl + Shift + P를 누르고 interpreter를 검색하면 selec..

Development/FastAPI 2024.10.13
728x90
반응형