문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를
완성해보세요.
입출력 예
내 풀이
def solution(array, commands):
num=[]
result=[]
numm=[]
for i in commands:
if i[0]==i[1]:
num.append(array[i[0]-1])
numm.append(num)
else:
num=array[i[0]-1:i[1]]
num.sort()
numm.append(num)
for j in numm:
result.append(j[2])
return result
풀이
def solution(array, commands):
answer = []
for i in range(len(commands)):
arr = array[commands[i][0]-1:commands[i][1]]
arr.sort()
answer.append(arr[commands[i][2]-1])
return answer
수정한 코드
def solution(array, commands):
result=[]
for i in commands:
num=array[i[0]-1:i[1]]
num.sort()
result.append(num[i[2]-1])
return result
코딩테스트 연습 - 가장 가까운 같은 글자 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다.예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다.
입출력 예
s | result |
"banana" | [-1, -1, -1, 2, 2, 2] |
"foobar" | [-1, -1, 1, -1, -1, -1] |
내 풀이
.
풀이
def solution(s):
answer = []
dic = dict()
for i in range(len(s)):
if s[i] not in dic:
answer.append(-1)
else:
answer.append(i - dic[s[i]])
dic[s[i]] = i
return answer
★ /
'코딩테스트 > programmers (python)' 카테고리의 다른 글
python/ Lv.1 모의고사, 정수 사이의 합, 서울에서 김서방 찾기 (0) | 2023.02.23 |
---|---|
python/ Lv.1 약수의 개수와 덧셈, 이상한 문자 만들기, 나누어 떨어지는 숫자 배열, 실패율 (0) | 2023.02.09 |
python/ Lv.1 콜라문제, 소수찾기, 숫자 문자열과 영단어 (0) | 2023.02.03 |
python/ Lv.1 문자열 내 마음대로 정렬하기, 두 개 뽑아서 더하기 (0) | 2023.01.27 |
python/ Lv.1 수박수박수박수? (0) | 2023.01.21 |