본문 바로가기

전체 글147

가운데 글자 가져오기 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12903 단어 s의 가운데 글자를 반환하는 함수를 작성하는 문제인데, 단어의 길이가 짝수라면 가운데 두글자를 반환해야한다. 그래서 단어의 길이에 따라 if-else문으로 나누어 return되는 범위를 지정해주었다. def solution(s): if len(s)%2: return s[len(s)//2] else: return s[(len(s)//2)-1:(len(s)//2)+1] 2020. 5. 5.
sorted()와 sort()의 차이 python에서 정렬 문제가 자주 나오고 다른 종류의 문제에서도 정렬이 자주 쓰인다. 여기서 sorted()와 sort()가 쓰이는데 이 두 방법의 차이점은 무엇일까? 먼저, 예시로 설명하자면 a=[3,6,1,4,7] b=sorted(a) print(b) #[1, 3, 4, 6, 7] a=[3,6,1,4,7] a.sort() print(a) #[1, 3, 4, 6, 7] 이렇게 된다. 결과는 당연히 같다. sorted()는 원래의 list는 원래대로 놔두고, 한번 더 list를 가져와 정렬한다. sort()는 원래의 list내에서 정렬이 되는 것이라고 생각하면 된다..! 따라서, sorted()는 메모리 사용량을 두배로 늘어난다고 보면 되고, 속도는 sort()가 빠르다. 때때로 원래의 list를 사용해.. 2020. 5. 3.
K번째수 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42748 처음엔 result에 append 하는 부분을 잘못 잡아 에러가 났지만 list범위를 다시 생각해보고 추가하니 성공할 수 있었다. for문을 여러번 돌려 시간 초과가 될 수 있으니 다른 방법을 찾아봐야겠다..! def solution(array, commands): answer = [] result=[] for i in commands: answer.append(array[i[0]-1:i[1]]) for i in answer: i.sort() for i in range(len(answer)): result.append(answer[i][commands[i][2]-1]) return resu.. 2020. 5. 3.