전체 글
-
[프로그래머스] 오픈채팅방코테 준비/Hash map 2024. 2. 2. 10:59
처음에는 노가다로 풀었는데 25번 테스트케이스부터 시간 초과가 났다... def solution(record): answer = [] id=[] for i in record: i=i.split(' ') if i[0]=='Enter': id.append(['Enter',i[1],i[2]]) for j in range(len(id)): if id[j][1]==i[1] and len(id[j])==3: id[j][2]=i[2] elif i[0]=='Leave': for j in range(len(id)): if id[j][1]==i[1]: id.append(['Leave',i[1],id[j][2]]) break elif i[0]=='Change': for j in range(len(id)): if id[j][..
-
[프로그래머스] 스킬트리코테 준비/Stack, Queue 2024. 1. 30. 14:34
문제 이해하는데 시간이 좀 걸렸다.. def solution(skill, skill_trees): cnt=0 for i in range(len(skill_trees)): tree="" for j in skill_trees[i]: if j in skill: tree+=j #skill에 있는 문자만 뽑기 flag=True if tree=="": # 아예 skill에 없는 문자만 있으면 count flag=True else: if tree[0]!=skill[0]: #가장 첫 알파벳이 선행되어야함 flag=False if tree not in skill: # 순서대로 스킬을 쌓아야함 flag=False if flag==True: cnt+=1 return cnt
-
[프로그래머스] 롤케이크 자르기코테 준비/Stack, Queue 2024. 1. 30. 10:50
처음에는 for 문으로 topping을 돌면서 set의 길이를 비교해서 같을 때 count 하면 된다고 생각했지만 시간 초과함 def solution(topping): answer = 0 for i in range(len(topping)): if len(set(topping[:i]))==len(set(topping[i:])): answer+=1 return answer 시간초과를 줄이려면 딕셔너리 두개를 활용해서 Counter(a) 한 뒤, a에 있는 숫자를 하나씩 빼서 b로 옮기면서 비교해야함. def solution(topping): answer = 0 a={} b={} for i in topping: # a에 각 숫자 몇개 있는지 다 담기 if i in a: a[i]+=1 else: a[i]=1 f..
-
GraphQL (1) - schema, query, response인턴 2024. 1. 19. 13:35
schema type User{ id: ID! //필수값 name: String! //필수값 } type Query{ user(id: ID!): User! } query query{ user(id: "10"){ // id 값이 10인 user 목록 조회 id name // id와 name이 반환됨 } } response { "data": { "user": { "id": "10", "name": "Simon" } } } GraphQL.js로 GraphQL의 스키마 정의하기 import { GraphQLObjectType, GraphQLSchema, GraphQLString, printSchema } from 'graphql'; const schema = new GraphQLSchema({ query: ne..
-
GraphQL 알아보기인턴 2024. 1. 18. 17:44
GraphQL이란? 페이스북에서 만든 쿼리 언어로 SQL과 비슷하지만 언어적 구조 차이가 매우 크다 GraphQL과 SQL의 차이점 GraphQL SQL 웹 클라이언트가 데이터를 서버로부터 가져오는 것이 목적 데이터베이스 시스템에 저장된 데이터를 가져오는 것이 목적 클라이언트 시스템에서 작성하고 호출 백엔드 시스템에서 작성하고 호출 # SQL 쿼리 예시 SELECT plot_id, species_id, sex, weight, ROUND(weight / 1000.0, 2) FROM surveys # Gql 쿼리 예시 { hero{ name friend{ name } } } GraphQL의 구조 Query / Mutation GraphQL에는 '쿼리 변수'라는 개념이 있어 gql을 구현한 클라이언트에서는 이..
-
OpenAI Assistant Tools인턴 2023. 12. 28. 16:58
1. Code Interpreter 다양한 데이터와 포맷의 파일 처리 가능하며, 데이터와 그래프 이미지가 포함된 파일 생성 가능 코드 실행이 성공할 때까지 다른 코드를 실행하여 어려운 코드 및 수학 문제 해결 가능 Assistant가 두 개의 서로 다른 thread에서 동시에 code interpreter를 호출하는 경우 두개의 code interpreter 세션이 생성됨. (기본 1시간 활성화) retrieval과 동시에 설정 불가 # Upload a file with an "assistants" purpose file = client.files.create( file=open("speech.py", "rb"), purpose='assistants' ) # Create an assistant using..
-
OpenAI Assistant 작동 방식인턴 2023. 12. 28. 14:48
Assistant는 personality와 function을 설정할 수 있다 Assistant는 여러 tools에 동시에 access할 수 있다. Code Interpreter Knowledge retrieval Function calling Assistant는 persistant Thread에 접근할 수 있다. 다양한 형식의 파일에 액세스할 수 있다.(이미지, csv 파일 등) Objects Assistant OpenAI의 모델과 호출 도구를 사용하는 전용 AI Thread 어시스턴트와 사용자 간의 대화 세션. 스레드는 메시지를 저장하고 모델의 컨텍스트에 내용을 맞추기 위해 자동으로 잘라내기를 처리합니다. Message 어시스턴트 또는 사용자가 만든 메시지입니다. 메시지에는 텍스트, 이미지 및 기타 파..
-
프로그래머스_삼각달팽이코테 준비/구현 2023. 12. 9. 18:05
달팽이 알고리즘! i: 이동 방향 바꾼 횟수 i%3==0 -> 밑으로 이동 (x+=1) i%3==1 -> 오른쪽으로 이동 (y+=1) i%3==2 -> 위로 이동(x-=1, y-=1) def solution(n): answer = [[0]*i for i in range(1,n+1)] x,y=-1,0 num=1 for i in range(n): for j in range(i,n): if i%3==0: # 아래 x+=1 elif i%3==1: # 오른쪽 y+=1 else: x-=1 y-=1 answer[x][y]=num num+=1 return [j for i in answer for j in i]