목록코딩 테스트 (186)
미소를뿌리는감자의 코딩
https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net 1. 접근 방법 굉장히 익숙한 문제여서, 내가 이 문제를 제출을 안했었나? 하고 같은 방법으로 다시 풀고 제출했더니, 시간 초과가 되었다. https://potatoscatteringsmile.tistory.com/206 [백준 2024/03/23] 11053번 가장 긴 증가하는 부분 수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수..
https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 1. 접근 방법 이 문제 처음에 이상하게 접근하다가, 다시 이진 탐색으로 돌아온 문제이다. 이후 답을 구글에서 알아보았다. 이해를 한 것을 적어보자면, 1 2 3 2 4 6 3 6 9 이렇게 값이 있다면, start 값을 1, end 값을 9로 설정한다. 이후 mid 값을 (start + end)//2를 통해서 한 후, 5보다 작은 값을 계산을 해준다. 이 계산을 해..
https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 1. 접근 방법 이번 문제는 sorted를 이용하면 쉽게 풀 수 있는 문제였다. coor는 [[ , ], [ , ], [ , ] ... ] 이렇게 구성된 list이다. 즉, 2차원 list sorted_coor = sorted(coor, key=lambda coor: (coor[1], coor[0])) coor를 기준으로 key를 설정해주었..
https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 1. 접근 방법 처음에 접근을 잘못했다가 많이 헤맨 문제이다. dp를 이용해서 문제를 풀어야 한다. 이때, dp란? : 최적 부분 구조와 중복되는 부분문제를 가지는 것이다. 중복되는 부분문제는 말그래도 중복되는 문제를 가지는 것이고, 최적 부분 구조는 문제를 해결하기 위한 최적의 방법은 문제를 구성하는 부분 문제들의 최..