Python/CoTe 70

[programmers] 게임 맵 최단거리

https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 전형적인 BFS 문제! from collections import deque def solution(maps): dx = [0,0,1,-1] dy = [1,-1,0,0] n ,m = len(maps), len(maps[0]) q = deque() q.append((0,0)) while q: x,y = q.po..

Python/CoTe 2022.03.09

[programmers] 전화번호 목록

https://programmers.co.kr/learn/courses/30/lessons/42577# 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 처음 코드 def solution(phone_book): answer = True for i in range(len(phone_book)): for j in range(len(phone_book)): if i == j: continue else: len_ = len(phone_book[i]) if phone_book[i] in phone_book[j][0:..

Python/CoTe 2022.03.06

[programmers] 기능 개발

https://programmers.co.kr/learn/courses/30/lessons/42586# 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr from collections import deque def solution(progresses, speeds): answer = [] day = [0 for i in range(len(speeds))] for i, (p, s) in enumerate(zip(progresses, speeds)): while p = 100: day..

Python/CoTe 2022.03.04

[programmers] 3진법 뒤집기

https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr ※ 3진법 구하는 방법 ※ n을 3진법으로 바꾼다고 하면, n이 3으로 나누어 떨어질 때까지 나누면서 나머지를 챙긴다. 예를 들어, 45를 3진법으로 표현하면, 45/3 = 15 (나머지 0) 15/3 = 5 (나머지 0) 5/3 = 1 (나머지 2) 마지막에 3으로 나눈 몫과 나머지들을 쭉 연결 시켜, 1200이 ..

Python/CoTe 2022.03.03

[programmers] 신고 결과 받기

https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 첫 번째 코드 from collections import defaultdict def solution(id_list, report, k): dict_report = defaultdict(list) count_report = defaultdict(int) check = [] id_dict = {x:0 for x in id_list} for line in r..

Python/CoTe 2022.02.27

[programmers] 최대공약수와 최소공배수

https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 최대 공약수 - 각각 n,m 의 약수 중 공통으로 갖는 공약수에서 최댓값을 갖는 수 최소 공배수 - 각각 n,m 의 공통된 배수 중 가장 최소 값. 내 코드 def solution(n, m): answer = [] #두 수는 최대 1000000까지라고 했으니까 INF 설정 INF = 1000000 #각각 m 과 n의 약수를 구한다..

Python/CoTe 2022.02.26

[programmers] 나누어 떨어지는 숫자 배열

https://programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr 내 코드 def solution(arr, divisor): answer = [x for x in arr if x%divisor==0] if bool(answer) == False: return [-1] else: return sorted(answer) 빈 리스트 확인 쉽게 하는 법은 bool(l..

Python/CoTe 2022.02.26

[programmers] 이상한 문자 만들기

https://programmers.co.kr/learn/courses/30/lessons/12930# 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr def solution(s): strings = s.split(" ") string_tmp = [] for string in strings: tmp = [string[x].upper() if x%2==0 else string[x].lower() for x in range(len(string))] string_tmp.append("".join(tmp..

Python/CoTe 2022.02.26
728x90