[Python] Python의 반올림
2.675를 반올림하면 2.68인데, Python에서는 2.67로 나온다. f = 2.675 round(f, 2) # 2.67 소수점을 사용하는 알고리즘 문제에서 곤혹을 치렀는데, decimal module을 사용하여 해결할 수 있다. import decimal decimal.getcontext().rounding = decimal.ROUND_HALF_UP f = 2.675 round(decimal.Decimal(str(f)), 2) # Decimal('2.68')
알고리즘
2020. 8. 24. 16:38
[Python] 2차원 배열 회전 알고리즘
# List comprehension을 사용한 알고리즘 def rotate_90_degree_1(arr): col_len = len(arr) ret = [] for i in range(col_len): ret.append(list(reversed([l[i] for l in arr]))) return ret # 일반적으로 작성하는 알고리즘 def rotate_90_degree_2(arr): row_len, col_len = len(arr), len(arr[0]) ret = [[0] * row_len for _ in range(col_len)] for i in range(col_len): for j in range(row_len): ret[i][j] = arr[row_len - j - 1][i] return..
알고리즘
2020. 8. 7. 19:06
