123456789101112131415161718192021222324252627import bisectdef solution(info, query): infos=[] querys=[] lang={'java':0,'python':1,'cpp':2,'-':3} job={'backend':0,'frontend':1,'-':2} stage={'junior':0,'senior':1,'-':2} soul = {'pizza':0,'chicken':1,'-':2} result=[[[[ [] for soul in range(3)] for stage in range(3)]for job in range(3)]for lang in range(4)] vs=[0 for _ in range(len(query))] for x in..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 def solution1(N, stages): answer = [] dic={} total=len(stages) for val in stages: dic[val]=dic.get(val,0)+1 ## 만일 stages에 값이 없다면 1로 그렇지 않다면 1증가 for i in range(1,N+1): dic[i]=dic.get(i,0) # 존재한다면 그대로 그렇지 않다면 0으로 초기화 tmp=dic[i] # 사전에 값을 저장 if total!=0: # 런타임에러를 방지하기 위해 조건문 작성 dic[i]=dic[i]/total else: dic[..
1 2 3 4 5 6 7 8 9 10 11 12 def solution(n, arr1, arr2): answer = [] for i in range(n): str='' a1=list(format(arr1[i],'b').zfill(n)) ## 일반적으로 이진법으로 바꿀때는 bin이라고 작성하지만, format을 통하여 작성할때에는 format(num,'b')이라 한다. a2=list(format(arr2[i],'b').zfill(n)) ## zfill은 정해진 숫자에서 남는 부분을 0을 채워주는 메소드이다. for j in range(n): ## 그 외에도 rjust는 오른쪽으로 정렬하고 남는 자리는 정해준 숫자를 채워준다. num = "11".rjust(5,"0") => "00011" if int(a1[..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 def solution1(numbers, hand): answer = '' flag=False if hand=='right': flag=True else: flag=False pad={} pad[1]='00' pad[2]='01' pad[3]='02' pad[4]='10' pad[5]='11' pad[6]='12' pad[7]='20' pad[8]='21' pad[9]='22' pad[0]='31' leftStart=[3,0] righ..
문제:www.acmicpc.net/problem/16198 16198번: 에너지 모으기 N개의 에너지 구슬이 일렬로 놓여져 있고, 에너지 구슬을 이용해서 에너지를 모으려고 한다. i번째 에너지 구슬의 무게는 Wi이고, 에너지를 모으는 방법은 다음과 같으며, 반복해서 사용할 수 있 www.acmicpc.net import sys input=sys.stdin.readline N=int(input()) li=list(map(int,input().split())) visited=[False]*N visited[0]=True visited[-1]=True ans=list(li) ret=0 def func(sum,x): global ret if all(visited): ret=max(ret,sum) return f..
문제:www.acmicpc.net/problem/14225 14225번: 부분수열의 합 수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오. 예를 들어, S = [5, 1, 2]인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import sys input=sys.stdin.readline N=int(input()) li=list(map(int,input().r..
문제:www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 필자는 처음에 문제를 접근했을 때 다음과 같이 풀려고 했다. 수의 최대길이가 8이므로 우선 다 8자리를 제공하자. 그래서 빈 곳은 다 -1로 채우자 그리고 자릿수가 제일 큰 애한테 큰 값을 줘야하므로 2중 반복문을 구성하되, 세로로 읽게 하자. 근데 여기서 문제점이 생긴다. 만일 순서대로 읽는데 하필 그 때 D가 2개이고 E가 1개인데 E가 먼저 값을 가지게 되면 오답이 발생하게 된다. 그래서 필자는..
문제:www.acmicpc.net/problem/2250 2250번: 트리의 높이와 너비 첫째 줄에 노드의 개수를 나타내는 정수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄마다 노드 번호와 해당 노드의 왼쪽 자식 노드와 오른쪽 자식 노드의 번호가 순서대로 주어진다. www.acmicpc.net 이 문제를 처음 접근했을 때 중위순회의 접근까지 좋았으나 중위 순회를 통해 저장하는 것을 레벨당 좌표가 아닌 각 좌표들이 어느 거리에 있나 저장해서 꼬인 것 같다. 이 문제의 접근법은 중위순회이다. 그리고 이 중위순회를 통해 각 레벨에 따라 거리를 저장하는 것 이것이 중요한 관점이다. import sys from collections import deque N=int(sys.stdin.r..
- Total
- Today
- Yesterday
- 면접
- 프로그래머스
- Python
- 카카오
- 파이썬
- docker
- env
- Command Line
- PostgreSQL
- Pattern
- Celery
- dockerignore
- headers
- 2021 KAKAO BLIND RECRUITMENT
- Spring
- postgres
- 자바
- 그래프
- Java
- setattr
- 백준
- thread
- ubuntu
- Linux
- Collections
- BFS
- DRF
- 알고리즘
- django
- docker-compose
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |