본문 바로가기

파이썬37

[Python] 프로그래머스 셔틀버스 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr 풀이 문제에서 주어진 조건대로 마지막 셔틀버스까지 왔을 때, 콘이 버스를 탈 수 있다면 현재 버스시간을 그대로 두고 만약 콘이 버스를 탈 수 없다면 마지막으로 탄 사람의 시간에서 1분을 빼서 콘이 먼저 탈 수 있게 하여 해결했습니다. 코드 def solution(n, t, m, timetable): answer = '' timetable.sort() t.. 2021. 5. 16.
[Python] 프로그래머스 보석 쇼핑 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 풀이 투포인터를 사용하여 문제에서 주어진 조건대로 처리하여 해결했습니다. 코드 def solution(gems): answer = [] unique_gem = set(gems) select_gem = dict() left = 0 right = 0 select_gem[gems[0]] = 1 minLen = 987654321 while left < len(gems) and right < len(gems): curLen = 0 if len(select_gem) == len(unique_gem): curLen = ri.. 2021. 5. 10.
[Python] 프로그래머스 추석 트래픽 코딩테스트 연습 - [1차] 추석 트래픽입력: [ "2016-09-15 20:59:57.421 0.351s", "2016-09-15 20:59:58.233 1.181s", "2016-09-15 20:59:58.299 0.8s", "2016-09-15 20:59:58.688 1.041s", "2016-09-15 20:59:59.591 1.412s", "2016-09-15 21:00:00.464 1.466s", "2016-09-15 21:00:00.741 1.581s", "2016-09-1programmers.co.kr풀이우선, 문제에서 시간이 들어있는 문자열을 파싱 하여 전부 밀리 초로 바꾸어 시작시간과 끝나는 시간을 각각 리스트에 저장했습니다.그다음으로 1초(1000밀리 초) 단위로 트래픽을 검사하고 끝.. 2021. 5. 2.
[Python] 프로그래머스 n진수 게임 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 풀이 숫자를 n진수로 바꾸어주는 convert 함수를 만들어 10진수로 0부터 N진수로 바꾸면서 num 리스트에 한 글자씩 추가했습니다. 이때, num 리스트의 길이가 t * m 즉, 참가하는 인원인 m명의 사람들이 t개씩 말하는 모든 경우를 저장하게 했습니다. 이를 활용하여 시작 순서인 p번째부터 m칸씩 건너뛰게 하여 정답을 구해 해결했습니다. 코드 def solution(n, t, m, p): answer = '' num = list() i .. 2021. 5. 1.
[Python] 프로그래머스 파일명 정렬 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 풀이 cmp_to_key를 사용해 정렬 조건을 만들어 해결했습니다. 코드 from functools import cmp_to_key def solution(files): answer = [] files_list = list() for file in files: temp = "" flag = False file_info = list() for idx in range(len(file)): temp += file[idx] if file[idx].isdigi.. 2021. 4. 25.
[Python] 프로그래머스 압축 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 풀이 우선 문제의 조건대로 길이가 1인 즉, 'A' ~ 'Z'까지 색인을 만들고 msg를 한 글자씩 temp에 추가하면서 만약 temp의 색인이 안 만들었다면 temp - 1까지는 색인이 있는 것이므로 정답에 temp - 1의 색인을 추가하고 temp의 색인을 추가하게 하여 해결했습니다. 이때, flag를 통해 마지막문자의 색인이 안 만들어져 있다면 temp - 1의 색인을 정답에 추가하고 색인이 만들어져 있다면 temp를 정답에 추가하게 했습니다. 코드 def solution(msg.. 2021. 4. 25.