Today I learned
1. 코드카타
- K번째 수
배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.
|
array = [1, 5, 2, 6, 3, 7, 4]
commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]
|
array, commands 만듦 |
|
def solution(array, commands):
answer = []
for ijk in commands:
i,j,k = ijk
sliced = array[i-1:j]
sliced.sort()
answer.append(sliced[k-1])
return answer
|
answer = [] - answer는 최종 결과를 담을 빈 리스트 for ijk in commands:
i,j,k = ijk
- commands의 각 원소들을 ijk 변수로 옮기고, 각 원소들을 i,j,k에 각각 할당한다.sliced = array[i-1:j] - array의 i 번째부터 j 번째 까지 잘라냄 sliced.sort() - 잘라낸 배열을 오름차순으로 정렬함 answer.append(sliced[k-1]) - 정렬된 배열의 k번째 값을 answer에 추가함 |
|
print(solution(array, commands))
|
[5, 6, 3] |
- 두 개 뽑아서 더하기
정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.
|
def solution(numbers):
answer = []
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
answer.append(numbers[i] + numbers[j])
return sorted(list(set(answer)))
|
answer = [] - answer는 최종 결과를 담을 빈 리스트 for i in range(len(numbers)): for j in range(i+1, len(numbers)): - 이중 for문으로 가능한 '서로 다른 두 수의 조합'을 순횧마 i는 리스트의 첫 인덱스부터 마지막까지 j는 i+1부터 시작하여 마지막까지 answer.append(numbers[i] + numbers[j]) - 각 쌍의 합을 구해서 answer 리스트에 추가함 return sorted(list(set(answer))) - 중복 제거하고 정렬 |
|
print(solution([2,1,3,4,1]))
print(solution([5,0,2,7]))
|
[2, 3, 4, 5, 6, 7] [2, 5, 7, 9, 12] |
2. 심화프로젝트
- 머신러닝(XGBoost, LightGBM, RandomForest 및 K-fold test 완료)
- 데이터 검증 및 코드 통일화 작업
- 추후 진행 예정: SMOTE와 Gridsearch 작업을 통한 검정 결과 완화, 공정 데이터만 시각화, best 머신러닝 모델 선정하기
'빅데이터 QAQC_3기 > 빅데이터 QAQC_3기 TIL' 카테고리의 다른 글
| TIL_251114 (0) | 2025.11.14 |
|---|---|
| TIL_251112 (0) | 2025.11.12 |
| TIL_251110 (1) | 2025.11.10 |
| TIL_251107 (0) | 2025.11.07 |
| TIL_251105 (0) | 2025.11.05 |