지도에서 상하좌우 움직이기
def isOut(x, y): if N >= x > 0 and N >= y > 0 : # print(False) return False # print(True) return True def doAction(action) : global x, y, nx, ny nx = x ny = y if action == "R" : nx +=1 if action == "U" : ny -=1 if action == "D" : ny +=1 if isOut(nx, ny): # print("out", nx, ny) return x, y = nx, ny if __name__=="__main__": # plans = input().split() plans = ['R', 'R', 'R', 'U', 'D', 'D'] N = 5 x, ..
2022. 8. 27.
leetcode 238 - Product of Array Except Self
배열을 순회하면서 각 idx에 있는 수를 제외한 나머지들을 모두 곱한 값을 출력하는 문제 게다가 문제에서도 O(n)의 시간복잡도로 풀이를 하라고 되어있다. [1,2,3,4]의 경우는 [ 2*3*4 , 1*3*4, 1*2*4, 1*2*3] 인 [24, 12, 8, 6] 이 답인 것이다. 이는 뒤집에서 생각해보면, [1*2*3*4 / 1 , 1*2*3*4 / 2 , 1*2*3*4 / 3 , 1*2*3*4 / 4] 의 계산으로도 가능하기 때문에, 전체 의 곱인 24를 구하고 각 1,2,3,4로 나누면 되는 것이다. 이때 주의해야 하는 점이 리스트에 0이 포함되는 경우이다. [-1, 1, 0, -3, 3]인 경우, 모든 곱을 하게 되면 0이 나오니 위의 로직을 그대로 따른 다면 [0, 0, 0, 0, 0]이 나..
2022. 3. 26.