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..
문제 https://app.codility.com/programmers/lessons/4-counting_elements/perm_check/ 리스트의 값이 순열인지 확인하는 문제이다. 문제 풀이 Missing Integer와 동일한 방식으로 풀면 된다. 코드 def solution(A): sort = sorted(A) check_num = 1 for num in sort: if num == check_num: check_num += 1 return 1 if len(A) == check_num - 1 else 0