코딩테스트/programmers (python)

python/ Lv.0 가까운 수, K의 개수★, 진료순서 정하기 ★★

seulll 2023. 1. 15. 22:36

 

코딩테스트 연습 - 가까운 수 | 프로그래머스 스쿨 (programmers.co.kr)

내 풀이

def solution(array, n):
    array.append(n)
    array.sort()
    num=array.index(n)
    if n==array[0]:
        return array[1]
    elif n==array[-1]:
        return array[-2]
    elif abs(array[num-1]-n)<=abs(array[num+1]-n):
        return array[num-1]
    elif abs(array[num-1]-n)>abs(array[num+1]-n):
        return array[num+1]

 

풀이

def solution(array, n):
    array.sort(key = lambda x : (abs(x-n), x-n))
    answer = array[0]
    return answer

코딩테스트 연습 - k의 개수 | 프로그래머스 스쿨 (programmers.co.kr)

문제 설명

1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.

 

입출력 예

i j k result
1 13 1 6
10 50 5 5
3 10 2 0

 

 

풀이

def solution(i, j, k):
    answer=0
    for i in range(i, j+1):
        answer+=str(i).count(str(k))
    return answer

★★★

코딩테스트 연습 - 진료순서 정하기 | 프로그래머스 스쿨 (programmers.co.kr)

 

내 풀이

.

 

 

풀이

def solution(emergency):
    array=sorted(emergency, reverse=True)
    answer=[]
    for i in emergency:
        answer.append(array.index(i)+1)
    return answer