지난 시간 문제 1~2번
파이썬 코딩테스트 스터디 2주차 #3 - 몸풀기 문제
문제 01 배열 정렬하기정수 배열을 정렬해서 반환하는 solution()함수 완성하기.제약 조건 · 정수 배열의 길이는 2 이상 10^5(10의 5제곱) 이하· 정수 배열의 각 데이터 값은 -100,000 이상 100,000이하입
hoony926.tistory.com
문제 03 두 개 뽑아서 더하기
정수 배열 number가 주어진다.
서로 다른 2개 수를 더해 만들 수 있는 모든 수를 배열에 오름차순으로 담아 반환하는
solution()함수 완성하시오.
제약 조건
· numbers 길이는 2 이상 100이하
· numbers의 모든 수는 0 이상 100 이하
입력 | 출력 |
[2,1,3,4,1] | [2,3,4,5,6,7] |
[5,0,2,7] | [2,5,7,9,12] |
* 중복값 제거하기
1. 내가 푼 방법
- enumerate 사용하기
- set으로 중복 제거
- 정렬 안함.
def solution(numbers) :
arr = []
for idx,val in enumerate(numbers) :
for j in range(idx+1, len(numbers)):
arr.append(val+numbers[j])
result_arr = list(set(arr))
return result_arr
2. 책에 나온 풀이
range만 사용하기
def solution(numbers):
ret[] # 1. 빈 배열 생성
for i in range(len(numbers)): # i에 0부터 numbers길이-1까지(배열의 마지막 인덱스) 까지
for j in range(i+1,len(numbers)): #j에 i+1부터 numbers길이-1까지(배열의 마지막 인덱스) 까지
ret.append(numbers[i]+numbers[j])
ret = sorted(set(ret))
return ret
1. "리스트".sort() → 원본 정렬.
2. sorted("리스트") → 원본 그대로 있고, 정렬 후 새로운 객체 반환
sorted() 내장 함수는 인자로 넘어온 객체의
원래 순서를 건드리지 않고 정렬된 원소들을 새로운 객체에 담아서 반환
#set()은 list [] → set {} 형태로 바꾸면서 중복 제거
#sorted는 set {} → list [] 형태로 변경
♬ 자료 출처 - 책
코딩 테스트 합격자 되기 - 파이썬 편
이 포스팅의 모든 내용은 해당 책의 내용을 바탕으로 하고 있습니다.
감사합니다.
'프로그래밍 이야기 > 파이썬 코딩 테스트 스터디' 카테고리의 다른 글
파이썬 코딩테스트 스터디 2주차 #6 - 문제 05 행렬의 곱 (0) | 2024.06.24 |
---|---|
파이썬 코딩테스트 스터디 2주차 #5 - 문제 04 모의고사 - 수포자 (0) | 2024.06.14 |
파이썬 코딩테스트 스터디 2주차 #3 - 몸풀기 문제 (0) | 2024.06.08 |
파이썬 코딩테스트 스터디 2주차 #2 - 자주 활용하는 리스트 기법 (0) | 2024.06.08 |
파이썬 코딩테스트 스터디 2주차 #1 - 배열 개념, 배열의 효율성 (0) | 2024.06.07 |