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.