안녕하세요 머킹입니다.
pytorch를 빠르게 공부하고 다른 것들을 공부해야겠습니다!
이제 프로젝트를 시작하는데 역시 프로젝트는 기획이 제일 재밌네요 ㅎ
배열의 원소만큼 추가하기
문제 설명
아무 원소도 들어있지 않은 빈 배열 X가 있습니다.
양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.
def solution(arr):
answer = []
for num in arr:
for _ in range(num):
answer.append(num)
return answer
드디어 _ 이걸 써봐서 기분이 좋아요.
def solution(arr):
return [i for i in arr for j in range(i)]
이건 대체 어떻게 푼 거죠 ㅋㅋㅋㅋ신기합니다.
빈 배열에 추가, 삭제하기
문제 설명
아무 원소도 들어있지 않은 빈 배열 X가 있습니다.
길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag [i]가 true라면 X의 뒤에 arr[i]를 arr[i] × 2 번 추가하고, flag [i]가 false라면 X에서 마지막 arr [i] 개의 원소를 제거한 뒤 X를 return 하는 solution 함수를 작성해 주세요.
def solution(arr, flag):
X = []
for i in range(len(arr)):
if flag[i]:
for _ in range(arr[i] * 2):
X.append(arr[i])
else:
if arr[i] <= len(X):
X = X[:-arr[i]]
return X
다른 사람의 풀이를 보니까 zip이랑 enumerate를 사용하더라고요!
배열 만들기 6
문제 설명
0과 1로만 이루어진 정수 배열 arr가 주어집니다. arr를 이용해 새로운 배열 stk을 만드려고 합니다.
i의 초기값을 0으로 설정하고 i가 arr의 길이보다 작으면 다음을 반복합니다.
- 만약 stk이 빈 배열이라면 arr[i]를 stk에 추가하고 i에 1을 더합니다.
- stk에 원소가 있고, stk의 마지막 원소가 arr [i]와 같으면 stk의 마지막 원소를 stk에서 제거하고 i에 1을 더합니다.
- stk에 원소가 있는데 stk의 마지막 원소가 arr[i]와 다르면 stk의 맨 마지막에 arr [i]를 추가하고 i에 1을 더합니다.
위 작업을 마친 후 만들어진 stk을 return 하는 solution 함수를 완성해 주세요.
단, 만약 빈 배열을 return 해야 한다면 [-1]을 return 합니다.
문제가 길어서 그런가 한참 이해했습니다.
def solution(arr):
stk = []
i = 0
while i < len(arr):
if not stk:
stk.append(arr[i])
i += 1
elif stk[-1] == arr[i]:
stk.pop()
i += 1
else:
stk.append(arr[i])
i += 1
if not stk:
return [-1]
else:
return stk
문제 보면 답이 간단할 것 같은데
코드는 되게 복잡하네요.
def solution(arr):
stk = []
for i in range(len(arr)):
if stk and stk[-1] == arr[i]:
stk.pop()
else:
stk.append(arr[i])
return stk or [-1]
다른 사람과 저의 코드를 비교해 보니 제 코드가 길고 복잡했군요.
이렇게 for문과 if문으로 끝나다니...
더 발전해야겠습니다.
'오늘부터 코딩테스트' 카테고리의 다른 글
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.11.02 |
---|---|
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.11.01 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.30 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.27 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.26 |