Python Coding Test TIL
DATE: 2024-07-17
LEVEL: 0
RANK: 152,048위 → 148,939위
중앙값 구하기
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11
의 중앙값은 7
입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
def solution(array):
array.sort()
answer = array[len(array)//2]
return answer
sort()
가 시간복잡도가 큰데 다른 방법이 있을까??
-> 대부분 sort()
나 sorted(array)
를 쓰는 듯.sorted(array)[len(array) // 2]
짝수는 싫어요
정수 n
이 매개변수로 주어질 때, n
이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
def solution(n):
answer = []
for i in range(n+1):
if i % 2 == 1:
answer.append(i)
return answer
다른사람 풀이
def solution(n):
return [i for i in range(1, n+1, 2)]
1부터 n+1까지 2씩 증가해서 바로 배열에 담는 방법....
특정 문자 제거하기
문자열 my_string
과 문자 letter
이 매개변수로 주어집니다. my_string
에서 letter
를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
def solution(my_string, letter):
return my_string.replace(letter,'')
C랑 헷갈려서 문자열이 배열인줄 알았는데, 파이썬에서 문자열은 인덱스로 접근만 가능하다는 것을 제외하면 배열과 다르다. 추가로 파이썬에서 문자열은 불변(immutable)인데 한번 생성된 문자열 객체의 내용을 변경할 수 없다. 즉, 문자열의 각 문자를 바꾸거나 문자열을 직접 수정하는것이 불가능하다.
str = "Hello"
str = "World"
위의 코드에서는 변수 str
에 새로운 문자열 "World"를 할당하고 있지만, 이는 기존의 문자열 "Hello"를 변경하는 것이 아니라, str
가 새로운 문자열 객체를 가리키도록 하는 것이다. 기존의 "Hello" 문자열 객체는 변경되지 않는다.
my_string.strip(letter)
을 하면 문자열에 포함된 모든것을 제거하지는 못하는듯...replace()
로 특정문자를 공백으로 교체한다.
'CS > 알고리즘' 카테고리의 다른 글
[Python] 알고리즘 공부 2일차 (0) | 2024.07.17 |
---|---|
[Python] 알고리즘 공부 1일차 (0) | 2024.07.17 |