IT/알고리즘 문제 풀이
(python)알고리즘 - 리스트 기초문제
KS짱짱맨
2020. 6. 4. 14:59
해당문제의 출처는 https://programmers.co.kr/ 의
어서와! 자료구조와 알고리즘은 처음이지? 강의임을 알려드립니다.
문제1
입력으로 주어지는 리스트 x 의 첫 원소와 마지막 원소의 합을 리턴하는 함수 solution() 을 완성하세요.
나의 풀이1
def solution(x):
length = len(x)
first = x[0]
last = x[length-1]
answer = first + last
return answer
※ pop()함수를 쓰지 않은 이유 = 원래 리스트의 변화를 주지 않기 위해서
문제2
리스트 L 과 정수 x 가 인자로 주어질 때, 리스트 내의 올바른 위치에 x 를 삽입하여 그 결과 리스트를 반환하는 함수 solution 을 완성하세요.
(가정)
인자로 주어지는 리스트 L 은 정수 원소들로 이루어져 있으며 크기에 따라 (오름차순으로) 정렬되어 있다고 가정합니다.
나의 답안
def solution(L, x):
n = 0
for l in L:
if l < x:
if n+1 == len(L):
L.append(x)
break
else:
n = n + 1
continue
else:
L.insert(n, x)
break
answer = L
return answer
문제3
인자로 주어지는 리스트 L 내에서, 또한 인자로 주어지는 원소 x 가 발견되는 모든 인덱스를 구하여 이 인덱스들로 이루어진 리스트를 반환하는 함수 solution 을 완성하세요.
(가정)
리스트 L 은 정수들로 이루어져 있고 그 순서는 임의로 부여되어 있음
동일한 원소가 반복하여 들어 있을 수 있음
(조건)
이 안에 정수 x 가 존재하면 그것들을 모두 발견하여 해당 인덱스들을 리스트로 만들어 반환
만약 존재하지 않으면 하나의 원소로 이루어진 리스트 [-1] 를 반환
def solution(L, x):
answer = []
n = 0
for l in L:
if L[n] == x:
answer.append(n)
n = n + 1
if len(answer) == 0:
answer.append(-1)
return answer
728x90