HackerRank Algorithm27 [HackerRank] 15. Diagonal Difference def diagonalDifference(arr): diagonal_sum_r = 0 diagonal_sum_l = 0 max_len = len(arr) for i in range(max_len): diagonal_sum_r += arr[i][i] diagonal_sum_l += arr[i][(max_len - 1) -i] return abs(diagonal_sum_r - diagonal_sum_l) if __name__ == '__main__': n = int(input().strip()) arr = [] for _ in range(n): arr.append(list(map(int, input().rstrip().split()))) result = diagonalDifference(arr) print(.. 2020. 3. 9. [HackerRank] 14. Divisible Sum pairs # n : 배열의 길이, k : 나눌 수, arr : 배열 # output : k로 나눌 수 있는 쌍의 개수. def solution(n, k, arr): count = 0 for i in range(n): for j in range(i+1, n): if (arr[i] + arr[j]) % k == 0: count += 1 return count def main(): nk = input().split() n = int(nk[0]) k = int(nk[1]) arr = list(map(int, input().strip().split())) result = solution(n ,k, arr) print(result) if __name__ == '__main__': main() 2020. 3. 9. [HackerRank] 13. Drawing Book def pageCount(n, p): # 처음부터 시작할 때 : 0, 2, 4... # 끝에서 시작할 때 : n // 2 # p가 있는 페이지 : p // 2 # 거리차를 구해서 min 출력 last_page = n // 2 current_page = p // 2 first_page = 0 if last_page - current_page > current_page - first_page: return current_page - first_page else: return last_page - current_page def main(): n = int(input()) p = int(input()) result = pageCount(n, p) print(result) if __name__ == '__main.. 2020. 3. 9. [HackerRank] 12. Finding the percentage if __name__ == '__main__': n = int(input()) student_marks = {} for _ in range(n): name, *line = input().split() scores = list(map(float, line)) student_marks[name] = scores query_name = input() print('{:.2f}'.format(sum(student_marks[query_name]) / 3)) 2020. 3. 9. [HackerRank] 11. Floor, Ceil and Rint import numpy as np # set_prinoptions method : set print options. np.set_printoptions(sign=' ') if __name__ == '__main__': arr = map(float, input().split()) np_arr = np.array(list(arr)) print(np.floor(np_arr)) print(np.ceil(np_arr)) print(np.rint(np_arr)) 2020. 3. 9. [HackerRank] 10. Granding Students # 방법1 # # Complete the 'gradingStudents' function below. # # The function is expected to return an INTEGER_ARRAY. # The function accepts INTEGER_ARRAY grades as parameter. # def gradingStudents(grades): result = [] for grade in grades: if grade = 3: result.append(5 * (grade // 5 + 1)) else: result.append(grade) return result if __name__ == '__main__.. 2020. 3. 9. [HackerRank] 09. Kangaroo import math # 방법1 # Complete the kangaroo function below. def kangaroo(x1, v1, x2, v2): # 1차 방정식을 통해 접근. # ax + b = cx + d 교점을 구해 해가 정수일때와 0이상일 때 YES 반환. try: result = (x2 - x1) / (v1 - v2) if result == math.ceil(result) and result >= 0: return 'YES' else: return "NO" # 점프 거리가 같고 출발선이 다를 경우 except Exception as ex: print(ex) return "NO" if __name__ == '__main__': x1V1X2V2 = input().split() x1 = i.. 2020. 3. 9. [HackerRank] 08. Mean, Var and Std import numpy as np np.set_printoptions(legacy='1.13') my_arr = [] N, M = input().split() for _ in range(int(N)): my_arr.append(list(map(int, input().split()))) my_arr = np.array(my_arr) print(np.mean(my_arr, axis=1)) print(np.var(my_arr, axis=0)) print(np.std(my_arr)) 2020. 3. 9. [HackerRank] 07. Migratory Birds def main(): n = int(input()) arr = list(map(int, input().split())) result = solution(arr) print(result) def solution(arr): bird_type = [0] * 5 for value in arr: bird_type[value - 1] += 1 return bird_type.index(max(bird_type)) + 1 if __name__ == '__main__': main() 2020. 3. 9. [HackerRank] 06. Min and Max import numpy as np np.printoptions() my_arr = [] N, M = input().split() for _ in range(int(N)): my_arr.append(list(map(int, input().split()))) my_arr = np.array(my_arr) print(np.max(np.min(my_arr, axis=1))) 2020. 3. 9. [HackerRank] 05. Mini-Max Sum # Complete the miniMaxSum function below. def miniMaxSum(arr): min_arr = sorted(arr) max_arr = sorted(arr, reverse=True) print('{} {}'.format(sum(min_arr[:-1]), sum(max_arr[:-1]))) if __name__ == '__main__': arr = list(map(int, input().rstrip().split())) miniMaxSum(arr) 2020. 3. 9. [HackerRank] 04. Nested List student = [] if __name__ == '__main__': for _ in range(int(input())): name = input() score = float(input()) student.append((name, score)) # set을 통해 중복 원소 제거 second_lowest = sorted(set([score for name, score in student]))[1] # join method is a string method which returns a string concatenated with the elements of an iterable print('\n'.join(sorted([name for name, score in student if score == seco.. 2020. 3. 9. 이전 1 2 3 다음