프로그래머스 6

[programmers] 삼각 달팽이 (python)

빈 배열에 저 순서대로 채우고, 마지막에 합쳐서 출력해주었다. def solution(n): answer = [] arr=[[0]*n for _ in range(n)] arr_size=n+(n*n-n)//2 # 빈칸 제외한 부분 cnt=0 for j in range(0,n): for i in range(j,n): # 아래로 if arr[i][j]>0: continue arr[i][j]=arr[i-1][j]+1 cnt+=1 for i in range(j,n-j): # 오른쪽으로 if arr[n-1-j][i]>0: continue arr[n-1-j][i]=arr[n-1-j][i-1]+1 cnt+=1 for i in range(n-1,j,-1): # 대각선(\) 위로 if arr[i][i-j]>0: conti..

IT/coding study 2022.07.10

[programmers] [3차] 압축 (python)

2018 KAKAO BLIND RECRUITMENT - queue와 list사용 from collections import deque def solution(msg): answer = [] dics = [] que=deque(msg) dics=[chr(i) for i in range(ord('A'),ord('Z')+1)] #A:0,B:1,.. tmp='' while len(que)>0: tmp='' for _ in range(0,len(que)): tmp+=que[0] if tmp in dics: que.popleft() else: #사전에 포함이 안될 때 answer.append(dics.index(tmp[:-1])+1) #사전에 포함안되는 문자는 빼기 dics.append(tmp) break answ..

IT/coding study 2022.01.18

[programmers] 베스트앨범(python)

1. key와 value를 갖고 있는 dictionary를 이용하여 문제를 풀었습니다. 2. index번호를 정답으로 출력시켜야하므로, value값에 (재생횟수와 index) 쌍을 저장하였습니다. 3. lambda를 이용하여 list와 dictionary에 정렬을 수행하였습니다. - a=[(1,2),(0,1)] 먼저 첫 번째 인자를 기준으로 오름차순으로 정렬하고, 그 다음 두 번째 인자를 기준으로 내림차순으로 정렬할 경우, a.sort(key=lambda x:(x[0],-x[1])) 정답 코드 def solution(genres, plays): answer = [] dict={} sum={} for i in range(len(genres)): if genres[i] not in dict: dict[gen..

IT/coding study 2021.03.18