반응형

파이썬 기초문법/파이썬_코딩테스트 27

코딩 테스트 대비! 파이썬으로 "세 수의 합" 문제 풀이

파이썬으로 "세 수의 합" 문제 풀이 문제 설명 정수 배열 nums가 주어졌을 때, 합이 0이 되는 세 정수의 삼중쌍을 모두 찾아 리스트 형태로 반환하는 프로그램을 작성하세요. 제약 조건 - 3 ≤ nums.length ≤ 3000 - -105 ≤ nums[i] ≤ 105 예시 입출력 - nums = [-1,0,1,2,-1,-4] → [[-1,-1,2],[-1,0,1]] - nums = [] → [] - nums = [0] → [] 솔루션 코드 def three_sum(nums): res = [] nums.sort() # 정렬 for i in range(len(nums)-2): # 중복 건너뛰기 if i > 0 and nums[i] == nums[i-1]: continue left, right = i+1..

코딩 테스트 대비! 파이썬으로 "두 정렬 리스트의 병합" 문제 풀이

파이썬으로 "두 정렬 리스트의 병합" 문제 풀이 문제 설명 정렬된 연결 리스트 l1과 l2가 주어졌을 때, 이 두 리스트를 병합하여 정렬된 새 연결 리스트를 반환하는 프로그램을 작성하세요. 제약 조건 - 두 리스트의 노드 수는 0 이상 50 이하입니다. - -1,000 ≤ Node.val ≤ 1,000 예시 입출력 - l1 = [1,2,4], l2 = [1,3,4] → [1,1,2,3,4,4] - l1 = [], l2 = [] → [] - l1 = [], l2 = [0] → [0] 솔루션 코드 class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next def merge_sorted_lists(l1, l2): d..

코딩 테스트 대비! 파이썬으로 "유효한 팰린드롬(회문 - 뒤에서 부터 읽어도 똑같은 문자)" 문제 풀이

파이썬으로 "유효한 팰린드롬" 문제 풀이 문제 설명 영문 문자와 숫자로만 이루어진 문자열 s가 주어졌을 때, 대소문자를 구분하지 않고 알파벳과 숫자만 고려했을 때 s가 팰린드롬이면 True, 아니면 False를 출력하는 프로그램을 작성하세요. 제약 조건 - 1

코딩 테스트 대비! 리스트 뒤집기 - 파이썬으로 "배열 뒤집기" 문제 풀이

리스트 뒤집기 - 파이썬으로 "배열 뒤집기" 문제 풀이 문제 설명 정수가 담긴 리스트 nums가 주어지면, 이를 역순으로 뒤집어 출력하는 프로그램을 작성하세요. 제약 조건 - 1 ≤ nums의 길이 ≤ 100 - -100 ≤ nums[i] ≤ 100 예시 입출력 - nums = [1, 2, 3] → [3, 2, 1] - nums = [4, 3, 5, 1, 2] → [2, 1, 5, 3, 4] 솔루션 코드 def reverse_list(nums): start = 0 end = len(nums) - 1 while start < end: nums[start], nums[end] = nums[end], nums[start] start += 1 end -= 1 return nums # 테스트 print(rever..

코딩 테스트 대비! 파이썬으로 "두 수의 합" 알고리즘 문제 풀이

코딩 테스트 대비! 파이썬으로 "두 수의 합" 알고리즘 문제 풀이 이번에 소개할 알고리즘 문제는 "두 수의 합"입니다. 정렬된 배열과 타겟 숫자가 주어졌을 때, 배열 내 두 수의 합이 타겟 숫자가 되는 인덱스 pair를 찾는 문제입니다. 문제 설명 정수 배열 nums와 정수 target이 주어질 때, nums에 있는 두 개의 인덱스를 찾아 nums[i] + nums[j] == target이 되는 값을 출력하라. 제약 조건 - 2 ≤ nums.length ≤ 104 - -109 ≤ nums[i] ≤ 109 - -109 ≤ target ≤ 109 - 정확히 하나의 솔루션만 존재함 예시 입출력 - nums = [2,7,11,15], target = 9 → [0,1] - nums = [3,2,4], target..

반응형