728x90
반응형

분류 전체보기 278

[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

메멘토AI 채용연계형 인턴 개발자 합격 후기

얼떨결에 취업을 했다. 채용공고가 있는지도 몰랐었고, 정글 동기들 덕에 마감 30분 전에 채용공고를 처음 확인했다.설립된 지 7개월 된 스타트업. 대부분이 개발자로 이루어진 인원 수 40명 규모의 회사. 위치는 삼성역.1개월짜리 인턴, 그리고 도전적인 내용의 채용공고. 정규직 전환 시 연봉도 만족스러웠다. 채용공고의 뉘앙스는 이랬다. 워라밸이 중요한 개발자를 찾지 않는다, 성과에 대한 보상을 바라지 "않는" 사람을 찾지 않는다. 집요하게 일하고 성과를 내고 성과에 맞는 보상을 챙겨갈 사람을 찾는다. 이런 느낌. 회사가 설립된지 7개월 정도밖에 되지 않아 매우 바쁠 것으로 예상된다. 매우 바쁘지만 그만큼 성과에 대한 보상을 확실히 하겠다는 느낌을 많이 받았고, 그저 흘러가는 대로 사는 것보단 좀더 도전적이..

업적 2024.10.11

[Baekjoon 14503 / Python / 골드5] 로봇 청소기

구현, 시뮬레이션 문제이다. 문제에 적힌 그대로 구현하면 풀리지만, 코드로 옮기는 과정에서 한두개의 실수조차 범하지 않기는 어렵다. 복잡한 로직은 필요 없이 문제를 아주 세심히 읽고 오차 없이 완벽하게 구현해내면 된다. 물론 난 제대로 안읽어서 고생했다. # 구현, 시뮬레이션import sysinput = sys.stdin.readline# 입력받기N, M = map(int, input().split())x, y, d = map(int, input().split())room = [list(map(int, input().split())) for _ in range(N)]# 0, 1, 2, 3 -> 북 동 남 서dx = [-1, 0, 1, 0]dy = [0, 1, 0, -1]# 청소 시작room[x][y] ..

728x90
반응형