PYTHON 8

[python] pass, continue, break 활용법

안녕하세요, 오늘은 정말 간단한 python에서 pass, continue, break 문법 각각의 역할과 활용법에 대해서 정리해보겠습니다. 쉽게 정리하자면, pass : 아무 동작도 하지 않습니다. 반복문에서 아무런 영향을 끼치지 않습니다. continue : 반복문에서 다음 loop로 건너뛰면서 loop는 지속됩니다. break : 반복문을 멈추고 loop 밖으로 나갑니다. 말로 설명하는 것보다 쉽게 이해할 수 있도록 아래 예시로 정리하겠습니다. pass는 왼쪽의 결과에서 볼 수 있듯이 코드에 아무런 영향을 끼치지 않습니다. 따라서 pass는 주로 조건문에서 별다른 행동이 필요하지 않을 때, 또는 class 생성시 초기에 별다른 값이 없을때 전체 코드 동작을 확인하기 위해 임시적으로 활용하기도 합니다..

[연결 리스트] 팰린드롬 연결 리스트

* leetcode 234. Palindrome Linked List Q. 연결리스트가 팰린드롬 구조인지 판별하라. # 입력 1->2 # 출력 false # 입력 1->2->2->1 # 출력 true 풀이 1. 리스트 변환 # 연결 리스트를 파이썬의 리스트로 변환시켜 풀이 def isPalindrome(head: ListNode) -> bool: q: List = [] if not head: return True node = head # 리스트 변환 while node is not None: q.append(node.val) node = node.next # 판별 while len(q) > 1: if q.pop(0) != q.pop(): # 인덱스를 지정하여 처음과 끝 값을 비교 return False ..

[배열] 배열 파티션 1

* leetcode 561. Array Partition 1 Q. n개의 페어를 이용한 min(a, b)의 합으로 만들 수 있는 가장 큰 수를 출력하라. # 입력 [1, 4, 3, 2] # 출력 [4] # 설명 n은 2가 되면, 최대 값은 4이다. min(1, 2) + min(3, 4) = 4 풀이 1. 오름차순 풀이 최대 min()을 만들기 위해서 내림차순으로 배열을 만들면 항상 최대 min() 페어를 만들 수 있다는 점을 활용한다. 이때, 문제에서 배열 입력값은 2n개일 것이기 때문에 오름차순으로도 같은 결과가 나온다. def arrayPairSum(nums: List[int]) -> int: sum = 0 pair = [] nums.sort() for n in nums: pair.append(n) ..

[배열] 새 수의 합

* leetcode 15. 3Sum Q. 배열을 입력받아 합으로 0을 만들 수 있는 3개의 앨리먼트를 출력하라 # 입력 nums = [-1, 0, 1, 2, -1, -4] # 출력 [ [-1, 0, 1], [-1, -1, 2] ] 풀이 1. 브루트 포스로 계산 # 3개의 포인터를 이용하여 모두 더해서 0이 되는 값들을 찾는다. def threeSum(nums: List[int]) -> List[List[int]]: results = [] nums.sort() # n^3 반복 for i in range(len(nums) - 2): # 중복값 제거 if i > 0 and nums[i] == nums[i - 1]: continue for j in range(i + 1, len(nums) - 1): if j >..

[Python] 슬라이싱(slicing) 기본

파이썬에서 슬라이싱(slicing)이란, 연속적인 객체(리스트, 튜플, 문자열)들에 대해서 특정 범위를 지정 선택해서 부분 객체들을 가져오는 기법을 의미합니다. 즉 연속적인 객체의 일부분을 복사해서 가져온다고 생각하면 됩니다. 기본 형태 만약 temp라는 리스트가 있고 다음과 같은 값을 갖고 있다고 할 때, 아래와 같은 형태로 슬라이싱 할 수 있습니다. temp = [1, 2, 3, 4, 5] # 슬라이싱 기본 형태 # temp[start:end:step] start : 시작 위치 end : 끝 위치 (포함 x) step : stride라고도 하며 몇개씩 가져올지 정할 수 있습니다. (옵션) 예제 temp[1:] # [2, 3, 4, 5] temp[:-1] # [1, 2, 3, 4] temp[2:4] #..