Programmers / 1단계 / 신고 결과 받기 / python / 2022 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
코딩테스트 연습 - 신고 결과 받기 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 def solution(id_list, report, k): id_dict={x: 0 for x in id_list} rep_id={x: 0 for x in id_list} arr=[] id = [] for i in set(report): id_dict[i.split()[1]] +=1 for i in id_dict.keys(): if id_dict[i] >= k: id.append(i) for i in set(report): if i.split()[1] in id: rep_id[i.split()[0]]+=1 return [_ for _ in rep_id.values()] 모범 답안 def solutio..
Programmers / 2단계 / 배달 / python / Summer/Winter Coding(~2018)
·
코딩테스트/programmers (python)
코딩테스트 연습 - 배달 | 프로그래머스 스쿨 (programmers.co.kr) 모범 답안 import heapq def dijkstra(dist,adj): queue = [] heapq.heappush(queue, [0,1]) while queue: cost, node = heapq.heappop(queue) for c,n in adj[node]: if cost+c < dist[n]: dist[n] = cost+c heapq.heappush(queue, [cost+c,n]) def solution(N, road, K): dist = [float('inf')]*(N+1) dist[1] = 0 adj = [[] for _ in range(N+1)] for r in road: adj[r[0]].append..
Programmers / 2단계 / [3차] 파일명 정렬 / python / 2018 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
코딩테스트 연습 - [3차] 파일명 정렬 | 프로그래머스 스쿨 (programmers.co.kr) 모범 답안 import re def splitS(s): head = re.match('[\D]+', s) number = re.search('[0-9]+', s) file = [head[0], int(number[0]), s[number.end():]] return file def solution(files): newFile = [] for i, file in enumerate(files): s_file = splitS(file.lower()) s_file.append(i) newFile.append(s_file) newFile.sort(key = lambda x : (x[0], x[1], x[-1])) a..
[python] re 라이브러리
·
카테고리 없음
정규 표현식은 문자열을 처리하는 방법 중 하나로 '특정 조건 또는 패턴'을 치환하는 과정을 쉽게 처리할 수 있는 방법이다. re 모듈이란 정규 표현식을 지원하기 위한 표준 라이브러리이다. re를 사용하기 위해서는 re를 호출하고, re 내부 함수와 패턴을 정의하여 호출한다. import re re.match() re.match() 함수는 문자열의 처음부터 시작해 패턴이 일치되는 것이 있는지를 확인한다. re.match() 함수는 인자로 re.match(pattern, string, flags) 를 받는다. matchObj = re.match('a', 'a') print(matchObj) print(re.match('a', 'aba')) print(re.match('a', 'bbb')) print(re.m..
Programmers / 2단계 / 스킬트리 / python / Summer/Winter Coding(~2018)
·
코딩테스트/programmers (python)
코딩테스트 연습 - 스킬트리 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 def solution(skill, skill_trees): count=0 for st in skill_trees: sk='' for s in st: if s in skill: sk+=str(skill.index(s)) if sk=='': count+=1 num='' for i in range(len(sk)): num+=str(i) if sk==num: count+=1 return count 모범 답안 def solution(skill, skill_trees): answer = 0 for skills in skill_trees: skill_list = list(skill) for s in skills: if ..
[데이터 분석] 데이터 시각화 Seaborn 라이브러리
·
데이터 분석
파이썬의 대표적인 시각화 도구로는 matplotlib과 seaborn이 있다. seaborn은 matplotlib에 비해 쉽게 그래프를 그리고 그래프 스타일을 설정할 수 있다. 정교하게 그래프의 크기나 각 축의 범례 값을 조절할 떄에는 matplotlib을 함께 사용해야 한다. Seaborn 라이브러리에서 제공해주는 그래프의 종류 라이브러리 임포트 import seaborn as sns #seaborn에서 제공하는 flights 데이터 셋을 사용 flights = sns.load_dataset('flights') #그래프 사이즈 설정 plt.figure(figsize=(12, 3)) Barplot - 막대그래프 sns.barplot(data=flights, x='year', y='passengers') ..
Programmers / 2단계 / 오픈채팅 / python / 2019 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
코딩테스트 연습 - 오픈채팅방 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . Change로 닉네임이 변경될 때 기존의 닉네임을 변경하는 것에 어려움이 있었다. 모범 답안 def solution(record): dic={} result=[] for rec in record: record_split = rec.split() if len(record_split) == 3: dic[record_split[1]] = record_split[2] for rec in record: record_split = rec.split() if record_split[0] == 'Enter': result.append(f'{dic[record_split[1]]}님이 들어왔습니다.') elif recor..
Programmers / 해시 문제 모음
·
코딩테스트/programmers (python)
코딩테스트 연습 - 폰켓몬 | 프로그래머스 스쿨 (programmers.co.kr) 코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 스쿨 (programmers.co.kr) def solution(participant, completion): hash_dict={} csum=0 for i in participant: hash_dict[hash(i)]=i csum+=hash(i) for i in completion: csum-=hash(i) return hash_dict[csum] 코딩테스트 연습 - 전화번호 목록 | 프로그래머스 스쿨 (programmers.co.kr) def solution(phone_book): pdict = {} for i in phone_book: pdict[i] = 1 f..