본문 바로가기
반응형

Online-Judge103

[Programmers] Python 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr collections의 Counter() 함수를 사용하여 리스트의 차집합을 구한 후 미완주자의 명단을 쉽게 확인 할 수 있다. from collections import Counter def solution(participant, completion): return list((Counter(participant)-Counter(completi.. 2022. 6. 14.
[Programmers] Python JadenCase 문자열 만들기 https://programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고 programmers.co.kr 1. s.split(" ") 2. for문으로 각 단어를 capitalize() 한 뒤 리스트화 3. " ".join() 함수를 사용하여 리스트를 문자열로 변환 def solution(s): return " ".join([word.capitalize() for word in s.split(" ")]) 주의할 점 1) 공백문.. 2022. 6. 14.
[Programmers] Python 최솟값 만들기 https://programmers.co.kr/learn/courses/30/lessons/12941?language=python3 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr def solution(A,B): A = sorted(A) B = sorted(B, reverse=True) answer = 0 for i in range(len(A)): answer += A[i] * B[i] return answer +) 개수가 동일한 자료형을 묶어줄 수 있는 zip 함수와 요소를 모두 더할.. 2022. 6. 11.
[Programmers] Python 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 def solution(n): tmp = '' while n > 0: tmp += str(n%3) n //= 3 return int(tmp,3) 2022. 6. 11.
[Programmers] Python 기능개발 https://programmers.co.kr/learn/courses/30/lessons/42586# 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr import math def solution(progresses, speeds): work = [math.ceil((100 - progresses[i]) / speeds[i]) for i in range(len(speeds))] print(work) answer = [] now = work[0] cnt = 0 for i in range(len(work).. 2022. 6. 10.
[Programmers] Python 두 개 뽑아서 더하기 https://programmers.co.kr/learn/courses/30/lessons/68644?language=python3 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1, len(numbers)): answer.append(numbers[i] + numbers[j]) return sorted(set(an.. 2022. 6. 8.
[Programmers] Python 내적 https://programmers.co.kr/learn/courses/30/lessons/70128?language=python3 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr def solution(a, b): answer = 0 for i in range(len(a)): answer = answer + a[i] * b[i] return answer 2022. 6. 8.
[Programmers] Python 로또의 최고 순위와 최저 순위 https://programmers.co.kr/learn/courses/30/lessons/77484?language=python3 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr def solution(lottos, win_nums): rank = { 0: 6, 1: 6, 2: 5, 3: 4, 4: 3, 5: 2, 6: 1 } return [rank[len(set(lottos) & set(win_nums)) + lottos.count(0)], rank[len(s.. 2022. 6. 7.
[Programmers] Python 예산 https://programmers.co.kr/learn/courses/30/lessons/12982?language=python3 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr def solution(d, budget): d.sort() for i in range(len(d)): budget = budget - d[i] if budget < 0: return i return len(d) 2022. 6. 7.
반응형