nums1은 인덱스 m개의 원소, nums2는 인덱스 n까지의 원소를 가진 채 nums2를 nums1에 합치고 정렬하는 문제였다.nums1 리스트를 슬라이싱으로 m개까지 자른다.nums2 리스트를 슬라이싱으로 n개까지 자른다.num1 리스트에 nums2 리스트를 더하여
리스트의 중복 원소를 제거해주는 문제이다.파이썬은 위와 같이 set으로 옮겨 담으면 중복을 제거할 수 있지만 LeetCode는 기존의 저런식으로 nums를 재선언하는 것을 답으로 허용하지 않는 것 같다. 그래서 중복을 일일히 찾아서 제거해줬다.for 문으로 리스트를 탐
리스트 원소의 중복된 값을 2개까지만 허용하고, 나머지는 제거하는 문제이다.처음에는 위와 같이 리스트를 만들어 값을 해당 값이 몇 개인지 기록을 했었는데 음수 값도 존재하기 때문에 음수를 표현하기 곤란해서 리스트 대신 딕셔너리를 활용했다.int defaultdict를
리스트의 길이 / 2 보다 중복 개수가 많은 원소들 중에서 가장 높은 원소를 return 해주는 문제이다.int defaultdict를 선언해준다.for문으로 리스트를 탐색한다.딕셔너리에 원소의 개수를 1씩 더해 카운트 해준다.원소의 개수가 리스트의 길이 / 2 보다
리스트가 원으로 연결되어 있다고 생각하고, 시계 방향으로 회전시키는 문제이다.파이썬은 위와 같이 rotate 함수를 자체적으로 지원해줘서 이 함수를 가져다 쓰면 손쉽게 구현할 수 있지만 LeetCode는 리스트를 새로 선언하는 것을 다른 리스트로 판단하고, 인정해주지
주식의 값들이 주어질 때, 어떤 날에 사거나 팔아서 가장 수익을 많이 낼 수 있는 값을 찾는 문제이다.나는 dp로 이 문제를 풀었다.dp 리스트를 만들어준다.산 주식을 첫 번째 리스트 원소로 지정해준다.for문을 두 번째 원소부터 시작하여 탐색한다.dp 리스트에 현재
언제든 주식을 사고 팔 수 있는 상황에서 가장 많은 수익을 냈을 때의 값을 찾는 문제이다. 이 문제는 그리디 방식으로 풀었다.주식을 살 수 있을 때 최대한 싼 주식으로 사고, 팔 수 있을 때는 무조건 팔면서 수익을 극대화하면 된다.산 주식을 리스트의 첫 번째 원소로 지
최대 점프 가능 횟수가 주어진 리스트에서 마지막 인덱스까지 이동이 가능한지 확인하는 문제이다. 간단하게 그리디 방식으로 풀었다.for문으로 리스트를 탐색해서 이동 가능한 곳들을 모두 체크해서 마지막 인덱스까지 이동이 가능한지 확인하는 것이다.처음엔 위와 같이 했지만 시