본문 바로가기
Programming/Algorithm(Python)

[Python] 알고리즘 공부 3일차

by 디스코비스킷 2024. 7. 17.
반응형

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()로 특정문자를 공백으로 교체한다.

반응형

'Programming > Algorithm(Python)' 카테고리의 다른 글

[Python] 알고리즘 공부 2일차  (0) 2024.07.17
[Python] 알고리즘 공부 1일차  (0) 2024.07.17

최근댓글

최근글

© Copyright 2023 jngmnj