문제 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 문제 풀이 참여자와 완주자의 목록을 탐색하여, 완주하지 않은 사람을 찾는 문제이다. 각 리스트를 탐색하여 정답을 도출할 수 도 있지만, 파이썬의 Counter를 잘 활용하면 간단히 문제를 해결할 수 있는 문제이다. 코드 from collections import Counter def solution(participant, completion): return list(Counter(participant) - Counter(complet..
all, any # 적절한 예시는 아니지만, any의 경우 iterable 중 하나라도 만족하지 않는 경우 # all의 경우 iterable에서 모든 경우가 만족하는 경우를 찾을 수 있다. if any(10 > x for x in list): return False else all(10 > x for x in list): return True 행렬 대각선 인덱스 def diagonal(matrix): # ↘ left_right = [matrix[i][j] for i in range(len(matrix))] # ↙ right_left = [matrix[i][len(matrix) - i - 1] for i in range(len(matrix))] 행렬 전환 # 전체는 list 타임이지만, 하나의 행을 선택하..
문제 https://app.codility.com/programmers/lessons/5-prefix_sums/genomic_range_query/ DNS 시퀀스는 A, C, G, T로 나타낼 수 있고 각각의 impact factor는 1, 2, 3, 4이다. P, Q 리스트는 각각 시작과 끝의 정보를 가진다고 생각하면 된다. 만약 CAGCCTA라는 DNS 시퀀스가 주어질 때 P[0] = 2, Q[0] = 4라면 DNS 시퀀스 중 2~4에 해당하는 값이 탐색 범위이다. (CAGCCTA) 탐색 범위 중 가장 작은 impact factor를 가지는 값을 찾아서 반환하면 된다. 문제 풀이 prefix sum으로 풀 수 있지만, 예외 처리로도 해당 문제를 풀 수 있다. 코드 def solution(S, P, Q..