본문 바로가기
반응형

python22

[PYTHON] Listnode 생성, 추가, 조작 (leetnode: Add Two Numbers) 문제 2개의 비어있지 않은, 음수가 없는 listnode 를 받게 된다. 이것은 반대순서로 숫자가 저장되어 있으며 한 node 당 1개의 숫자가 들어 있다. 2개의 listnode 의 숫자를 제대로 배열해서 더한다음 다시 반대순서로 listnode 를 만들어서 return 하라. 예시 2 > 4 > 3, 5 > 6 > 4 의 listnode 가 주어진다면 두가지 listnode 에서 말하는 수는 342 와 465 이다. 이를 더하면 807이 되고 return 으로는 7 > 0 > 8 의 listnode 를 보내주면 된다. 풀이 의식의 흐름대로 문제를 푼다. 2 > 4 > 3의 listnode (l1) 를 일단 [2, 4, 3] 의 list (firstNum) 로 만들어준다. 그리고 뒤에서부터 순서대로 하.. 2021. 4. 5.
[PYTHON] string 을 list 로 사용하는법, max(string) 사용법 (leetcode: Partitioning Into Minimum Number Of Deci-Binary Numbers) 문제 10진수 n 이 주어지면 이 수를 최소의 deci-binary, 즉 1과 0으로 이루어진 수(10, 11, 1 등, 0으로 시작하면 안됨), 로 구성할 수 있는지 개수를 return 해야 한다. n = 32 라면 10 + 11 + 11 = 32 로 최소 3개의 deci-binary 로 구성할수 있기 때문에 답은 3이 된다. 풀이 문제는 이상하게 복잡하기만 답은 생각보다 간단하다. 첫번째풀이 방벙은 주어지는 수 n 가 string 이기때문에 하나의 list 로 인식해서 각자리의 수를 모두 확인하고, 그 수중에 가장 큰수를 답으로 하면 된다. 예를 들어 n = 12532 라면 n[2] = 5로 가장 큰수는 5이기 때문에 답은 5개 된다. (어차피 1씩 으로 나눠야 하기 때문에 가장 큰 수 기분으로 답이.. 2021. 4. 2.
[PYTHON] list 에서 for 문 2개 돌리기 (i, j) (leetcode: number of good pairs) 문제 nums 라는 list 가 주어진다. 만약 nums[i] == nums[j] 이고 i int: solNum = 0 for i in range(len(nums)): for j in range.. 2021. 4. 2.
[PYTHON] list(array) 선언의 두가지 방법 (leetcode: Shuffle the Array) 문제해석 2n 의 길이의 nums 라는 array 와 n 의 값을 전달해준다. 예를 들어 array 가 [x1, x2, ... y1, y2, ...] 의 형식이라면 이 array 의 내용들을 x 영역과 y 영역으로 반으로 나누어 [x1, y1, x2, y2, ...] 로 섞어준 array 를 return 해주면 된다. 풀이 점차 python 의 array, list 에 익숙해지기 시작하면서 실제 문제는 금방 풀었다. 처음에 풀이한 답은 아래와 같다. class Solution: def shuffle(self, nums: List[int], n: int) -> List[int]: returnList = list(range(2 * n)) for i in range(n): returnList[i * 2] = .. 2021. 4. 2.
반응형