분류 전체보기
-
OpenAI Assistants API v2 stream 오브젝트의 in/outbound인턴 2024. 6. 3. 09:05
인바운드네트워크에 들어오는 정보메시지가 클라이언트에서 서버로 향함 ex) 첨부파일을 서버에 저장(업로드)예를 들어, 웹 서버의 경우 클라이언트가 웹페이지를 요청하고, 이 요청이 웹 서버로 전송되는 경우 아웃바운드네트워크에서 나가는 정보클라이언트의 요청을 처리하고 메시지가 서버에서 클라이언트로 향함 ex)첨부파일 다운로드내부의 사용자가 웹 페이지를 요청하면, 요청된 데이터가 내부 시스템에서 인터넷을 통해 외부로 전송 OpenAI Assistants API v2 스트리밍 기능실시간 상호작용: Assistants API v2의 스트리밍 기능을 통해 사용자는 실시간으로 AI 어시스턴트의 응답을 받을 수 있다.다중 사용자 지원: 스트리밍 기능은 단일 스레드에서 다중 사용자 상호작용을 관리할 수 있는 기능을 제..
-
2018 KAKAO BLIND RECRUITMENT [3차] 파일명 정렬 feat. 정규표현식코테 준비/문자열, 내장함수 2024. 4. 19. 11:02
정규표현식을 잘 알고 있으면 쉽게 풀 수 있는 문제! 문자열을 숫자 기준으로 나누고 1. HEAD 기준으로 사전순 정렬 2. NUMBER 기준으로 오름차순 정렬 해주면 된다! import re def solution(files): def splitfile(file): match = re.match(r"([^\d]+)(\d+)(.*)", file) return match.group(1), int(match.group(2)) answer=sorted(files,key=lambda file: (splitfile(file)[0].lower(),splitfile(file)[1])) return answer
-
기술면접 - 운영체제CS 공부/취업준비 이론정리 2024. 3. 26. 17:09
💡 프로세스와 쓰레드의 차이에 대해 설명해주세요 프로세스 - 실행 중인 프로그램, 완벽히 독립적이기 때문에 메모리 영역을 다른 프로세스와 공유하지 않는다. - 최소 1개의 쓰레드를 가지고 있다 쓰레드 - 프로세스 내에서 stack만 따로 할당 받고, 그 외의 메모리 영역을 공유하기 때문에 다른 쓰레드의 실행 결과를 즉시 확인할 수 있다. - 프로세스 내에 존재하며 프로세스가 할당받은 자원을 이용해 실행된다. 💡 멀티 프로세스와 멀티 쓰레드의 특징 멀티 프로세스 - 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않고 계속 실행됨 - 멀티 쓰레드보다 많은 메모리 공간과 CPU 차지 멀티 쓰레드 - 멀티 프로세스보다 적은 메모리 공간을 차지하고 문맥 전환이 빠름 - 하나의 프로세스가 죽으면 전체 쓰레..
-
기술면접 준비 - 자료구조CS 공부/취업준비 이론정리 2024. 2. 28. 17:12
💡 Array(List)의 가장 큰 특징과 그로 인해 발생하는 장점과 단점에 대해 설명해주세요. Array의 가장 큰 특징은 데이터를 순차적으로 저장한다는 점이다. 장점 - index를 사용해 특정 요소를 찾고 조작이 가능하다. 단점 - 요소가 삽입되거나 삭제되는 경우 그 뒤의 모든 요소를 한 칸씩 뒤로 밀거나 당겨줘야함 - 정보가 자주 바뀌는 데이터를 담기에는 적절하지 않음 💡 Stack, Queue / Tree, Heap의 구조에 대해 설명해주세요 Stack과 Queue는 선형 자료구조, Array와 LinkedList로 구현 가능 Stack: 후입선출(LIFO) Queue: 선입선출(FIFO) Tree는 비선형 자료 구조, 계층적 관계를 표현하기에 적합 Heap은 최대, 최소값을 찾아내는 연산을 쉽..
-
[백준] 8979. 올림픽코테 준비/구현 2024. 2. 8. 17:45
순위 매기는 것 때문에 헷갈렸다 조금... n,k=map(int,input().split()) medal=[] for i in range(n): n,gold,silver,bronze=list(map(int,input().split())) medal.append([n,gold,silver,bronze]) medal.sort(key=lambda x:(-x[1],-x[2],-x[3])) //금.은.동 순서로 정렬 cnt=1 medal[0].append(1) for i in range(1,len(medal)): cnt+=1 if medal[i-1][1:4]==medal[i][1:4]: medal[i].append(medal[i-1][-1]) # 메달 수가 같으면 순위 유지 else: medal[i].append..
-
[백준] 10431. 줄세우기코테 준비/구현 2024. 2. 8. 13:58
난이도 쉬운편. 단순 구현 p=int(input()) answer=[] for i in range(p): cnt = 0 heights = [] h=list(map(int,input().split())) heights.append(h[1]) for j in range(2,21): if h[j]h[j]: heights.insert(idx,h[j]) cnt+=len(heights)-idx-1 break else: heights.append(h[j]) answer.append((h[0],cnt)) for a,b in answer: print(a,b)
-
[백준] 9655. 돌게임코테 준비/DP 2024. 2. 7. 17:55
DP로 푼다고 하는데 그냥 단순 구현으로 푼 것 같다... n=int(input()) # 5 = 1/1/1/1/1 # 5 = 3/1/1/ cnt=0 while n!=0: if n>=3: n-=3 else: n-=1 cnt+=1 if cnt%2==0: print("CY") else: print("SK") 3개 이상 남아있으면 3개를 가져가고 그렇지 않으면 1개를 가져가는 방식으로 구현하였다. 어짜피 어떻게 가져가던간에 마지막에 가져가는 사람은 똑같기 때문..!
-
[프로그래머스] 등굣길코테 준비/DP 2024. 2. 6. 11:11
처음에는 조합? 확률과 통계 공식으로 풀어보려했는데 생각해보니 그렇게 복잡하게 풀 필요가 없었다. 테두리를 1로 초기화하고 puddle이 있는 좌표는 0으로 하여 dp[i][j]=dp[i-1][j]+dp[i][j-1] 을 사용해 풀면 되는 것이었다! def solution(m, n, puddles): dp=[[1]*n for _ in range(m)] for p in puddles: dp[p[0]-1][p[1]-1]=0 for i in range(1,m): for j in range(1,n): if dp[i][j]!=0: dp[i][j]=(dp[i-1][j]+dp[i][j-1])%1000000007 return dp[m-1][n-1] 처음에는 puddle 위치를 0으로 만들고 dp 적용하면 되겠다 싶었는..