48 https://leetcode.com/problems/rotate-image/
이거 몰랐다.... 답을 보고나서야 이런 방법이 있는지 알았다. n x n의 행렬을 시계방향, 반시계로 돌리는 방법.
https://leetcode.com/problems/rotate-image/discuss/18872/A-common-method-to-rotate-the-image
class Solution(object): def rotate(self, matrix): n = len(matrix) for i in xrange(n/2): matrix[i],matrix[n-1-i] = matrix[n-1-i], matrix[i] for i in xrange(n): for j in xrange(i+1, n): matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]
근데 두번째로 추천 많이 받은 discussion을 보면 말이 안나온다 ㅋㅋㅋ
https://leetcode.com/problems/rotate-image/discuss/18884/Seven-Short-Solutions-(1-to-7-lines)
171 https://leetcode.com/problems/excel-sheet-column-number/
26진법의 수를 계산한다고 생각하고 하자.
class Solution(object): def titleToNumber(self, s): s = list(s) n = 0 index = 0 while s: if index == 0: n += (ord(s.pop())-64) else: n += (26**index) * (ord(s.pop())-64) index += 1 return n
168 https://leetcode.com/problems/excel-sheet-column-title/
바로 위 171번과 거꾸로 버전이다. 끝자리 수를 나타내기 위해 -1을 해주면서 계산한다.
class Solution(object): def convertToTitle(self, n): s = [] while True: if n < 1: break n -= 1 s.append(n % 26) n /= 26 return ''.join(map(lambda x: chr(x+65), s[::-1]))
'algorithm > problem solving' 카테고리의 다른 글
leetcode 373(bfs + heap), 328(구현), 21(merge two linked list구현) (0) | 2020.04.12 |
---|---|
leetcode 141(find cycle in linked list), 142, 287, 268(missing num) (0) | 2020.04.11 |
leetcode 122(그리디), 121(구현?), 219(구현), 13(구현) (0) | 2020.04.06 |
leetcode 283(구현), 108(array to bst), 109, 49(anagram), 438, 567(sliding window) (0) | 2020.04.04 |
leetcode 206(linked list), 92, 238(product), 78(subset, dfs) (0) | 2020.04.03 |