[Python] list 복사 ([:], copy(), deepcopy())
파이썬 ps를 하면서 많이 하기 쉬운 실수들에 대해 적는다. 다음 두 코드의 결과는 어떻게 될까? 하나는 맞고 하나는 이상한 결과를 배출한다. 1) class Solution(object): def subsets(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ results = [] def dfs(nums, k, pos, subsets=[]): if k == 0: results.append(subsets) return for i in range(pos, len(nums)): subsets.append(nums[i]) dfs(nums, k - 1, i + 1, subsets) subsets.pop() for i in range(len(..
2021. 2. 11.
여러 좌표가 주어질 때 이쁘게 별(*) 찍기
오늘 코딩테스트를 보다가 오랜만에 '별 찍기' 문제를 보게 됐다. 해당 문제에서 좀 까다로웠던 부분만 하위 문제로 새롭게 만들어봤다. Q. 여러 좌표가 주어질 때 이쁘게 별(*) 찍기 (-1, 0), (1, 0) 과 같은 좌표가 주어지면, 주어진 좌표는 '*'로 표시하고, 나머지는 '.'로 표시한다. 즉, ['*.*'] 로 출력한다. 물론 board의 크기 제한은 없지만, ['...', '*.*']로 출력하면 안 된다. 즉, '...'는 굳이 필요 없으므로 제거한다. 별로 어렵지 않은 문제인데, 구현을 어떻게 하면 간단히 할까라는 생각을 시험 끝나고 생각해보다가, 다음과 같이 함수화시켜봤다. points_to_star 함수는 점들이 주어지면 해당 점들에 대해 '*'로 board에 표시해주는 함수다. 코드..
2021. 2. 7.