본문 바로가기
728x90
반응형

정렬23

2022.06.01 [프로그래머스] (python 파이썬) 문자열 내 마음대로 정렬하기 https://programmers.co.kr/learn/courses/30/lessons/12915?language=python3 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 풀이 sorted와 lambda식을 이용해 x[n]으로 정렬하고 같으면 x의 사전순으로 오름차순 정렬했다. 1 2 3 def solution(strings, n): answer = sorted(strings, key=lambda x:(x[n],x)) return a.. 2022. 6. 1.
2022.04.12 [백준] (python 파이썬) 철로 https://www.acmicpc.net/problem/13334 13334번: 철로 입력은 표준입력을 사용한다. 첫 번째 줄에 사람 수를 나타내는 양의 정수 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 각 줄에 정수 쌍 (hi, oi)가 주어진다. 여기서 hi와 oi는 −100,000,000이상, 100,000,0 www.acmicpc.net 풀이 아래 문제는 처음 해결방법이 떠오르지 않아 구글링을 통해 여러 코드를 참고하여 해결하였다. 우선 각 정수 쌍을 오름차순 정렬하여 arr배열에 저장했다. 이후, arr배열을 x[1]을 기준으로 오름차순 정렬했다. 이유는 철로를 확인할 때, 가장 작은 위치부터 확인하기 위해서 이다. 그리고 집, 사무실의 거리가 d보다 큰 경우는 제외하고 h_o.. 2022. 4. 12.
2022.04.09 [백준] (파이썬 python) 두 수의 합 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 풀이 처음 이 문제를 단순히 for문을 돌려 모든 상황을 고려해 풀이 했지만 시간초과가 발생했다. 그래서 두 포인터를 사용하여 코드를 작성하였다. 우선 배열을 정렬한 후, left, right를 0, n-1로 설정해 주었다. 이 후, while문을 돌려 arr[left] + arr[right]를 temp에 저장 후, x와 같으면 cnt를 1 .. 2022. 4. 9.
2022.04.09 [프로그래머스] (파이썬 python) 가장 큰 수 https://programmers.co.kr/learn/courses/30/lessons/42746# 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 풀이 우선 주어진 배열을 모두 문자열로 바꾸었다. 이유는 int형으로 정렬을 하면 [6, 10, 2]일 때, [10, 6, 2]로 큰 수로 나열 되기 때문이다. 그래서 문자열로 바꾸어 배열을 하게 되면 위의 상황에서는 [6, 2, 10]으로 정렬 되지만 [3, 30, 34, 5, 9]일 때, [9.. 2022. 4. 9.
728x90
반응형