오늘의 공부 키워드
2089 Find Target Indices After Sorting Array
2089 Find Target Indices After Sorting Array
문제 설명
주어진 문제는 다음과 같습니다:
0부터 시작하는 정수 배열 nums와 목표 요소 target이 주어집니다.
목표 인덱스는 nums[i] == target인 인덱스 i를 의미합니다.
nums를 오름차순으로 정렬한 후의 목표 인덱스 목록을 반환하세요. 만약 목표 인덱스가 없다면 빈 목록을 반환하세요.
반환된 목록은 오름차순으로 정렬되어 있어야 합니다.
예제
예제 1:
- 입력: nums = [1, 2, 5, 2, 3], target = 2
- 출력: [1, 2]
- 설명: 정렬 후 nums는 [1, 2, 2, 3, 5]가 됩니다. nums[i] == 2인 인덱스는 1과 2입니다.
예제 2:
- 입력: nums = [1, 2, 5, 2, 3], target = 3
- 출력: [3]
- 설명: 정렬 후 nums는 [1, 2, 2, 3, 5]가 됩니다. nums[i] == 3인 인덱스는 3입니다.
예제 3:
- 입력: nums = [1, 2, 5, 2, 3], target = 5
- 출력: [4]
- 설명: 정렬 후 nums는 [1, 2, 2, 3, 5]가 됩니다. nums[i] == 5인 인덱스는 4입니다.
해결 방법
이 문제를 해결하기 위해 다음과 같은 단계를 따를 수 있습니다:
- 배열 nums를 오름차순으로 정렬합니다.
- 정렬된 배열에서 target 값을 갖는 인덱스를 찾아 저장합니다.
- 저장된 인덱스 목록을 반환합니다.
코드 구현
다음은 위 과정을 반영한 파이썬 코드입니다:
def target_indices(nums, target):
# 1. nums를 정렬합니다.
nums.sort()
# 2. target 값을 갖는 인덱스를 저장할 리스트를 만듭니다.
result = []
# 3. 정렬된 nums에서 target 값을 찾고 인덱스를 result에 추가합니다.
for i in range(len(nums)):
if nums[i] == target:
result.append(i)
# 4. 결과 리스트를 반환합니다.
return result
예제 테스트
위의 코드가 주어진 예제들을 제대로 처리하는지 확인해보겠습니다:
print(target_indices([1, 2, 5, 2, 3], 2)) # 예상 출력: [1, 2]
print(target_indices([1, 2, 5, 2, 3], 3)) # 예상 출력: [3]
print(target_indices([1, 2, 5, 2, 3], 5)) # 예상 출력: [4]
결론
이 문제는 배열을 정렬하고 목표 값을 찾는 간단한 문제입니다. 중요한 점은 정렬 후 목표 값을 찾아 인덱스를 반환하는 과정입니다. 이 과정을 통해 배열 내 목표 값의 인덱스를 효율적으로 찾을 수 있습니다.
오늘의 회고
- 아주 재미있던 문제였다.
- 문제가 점점 난이도가 있는거같다..
- 실력만이 답이라는 사실을 기억하자
'python' 카테고리의 다른 글
99클럽 코테 스터디 26일차 TIL (0) | 2024.06.23 |
---|---|
99클럽 코테 스터디 25일차 TIL (0) | 2024.06.22 |
99클럽 코테 스터디 23일차 TIL (0) | 2024.06.20 |
99클럽 코테 스터디 22일차 TIL (0) | 2024.06.19 |
99클럽 코테 스터디 21일차 TIL (0) | 2024.06.18 |