가장 큰 수 찾기
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
def solution(array):
#def는 정의, solution은 함수의 이름
#array는 파이썬에서 리스트와 비슷하게 쓰임
#다른 점은 배열은 크기가 고정되어있고 같은 자료형만 받을 수 있음
answer = []
#가장 큰 값하고 큰 값의 인덱스를 넣을 빈 리스트 만들기
big_number = max(array)
#가장 큰 값 max(리스트나 배열)함수 이용하기
answer.append(big_number)
answer.append(array.index(big_number))
#배열이나 리스트.index(값)
return answer
#다른 사람의 풀이 참고하기
def solution(array)
return [max(array),array.index(max(array))]
<문법 공부>
1.인덱스 가져오기
array.index(값)
2, 가장 큰 값 가져오기
max(array)
배열 만들기 4
정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk를 만드려고 합니다.
변수 i를 만들어 초기값을 0으로 설정한 후 i가 arr의 길이보다 작으면 다음 작업을 반복합니다.
- 만약 stk가 빈 배열이라면 arr[i]를 stk에 추가하고 i에 1을 더합니다.
- stk에 원소가 있고, stk의 마지막 원소가 arr[i]보다 작으면 arr[i]를 stk의 뒤에 추가하고 i에 1을 더합니다.
- stk에 원소가 있는데 stk의 마지막 원소가 arr[i]보다 크거나 같으면 stk의 마지막 원소를 stk에서 제거합니다.
위 작업을 마친 후 만들어진 stk를 return 하는 solution 함수를 완성해 주세요.
< 오답 노트 >
1. = 랑 == 헷갈리지 말기
'같다'랑 '할당' 이랑 헷갈리지 말기
2. i += 1과 같이 지속적으로 업데이트되며 반복 실행될때는 while 구문 쓰기
while i < len(arr):
def solution(arr):
stk = []
i = 0
while i < len(arr): # 배열의 길이보다 작은 동안 반복
if not stk: # 스택이 비어 있으면
stk.append(arr[i]) # 현재 요소를 추가
i += 1 # i 증가
elif stk[-1] < arr[i]: # 스택의 마지막 값보다 현재 값이 크면
stk.append(arr[i]) # 현재 요소를 추가
i += 1 # i 증가
else: # 그렇지 않으면
del stk[-1] # 스택의 마지막 요소를 제거
return stk
'프로그래머스' 카테고리의 다른 글
프로그래머스 lv 0 (0) | 2024.10.12 |
---|---|
프로그래머스 lv 0 (0) | 2024.10.04 |
프로그래머스 lv 0 (0) | 2024.10.03 |
프로그래머스 lv 0 (0) | 2024.10.03 |