목록2024/03 (36)
미소를뿌리는감자의 코딩
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://github.com/ThisIsEightWithSailingShip/sailing_ship GitHub - ThisIsEightWithSailingShip/sailing_ship: major project with this is eight in hang_hae major project with this is eight in hang_hae. Contribute to ThisIsEightWithSailingShip/sailing_ship development by creating an account on GitHub. github.com 프로젝트를 완료하여 git 에 올렸다. 정말 많이 고생했다. https://www.youtube.com/watch?v=ANU..
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란? : 최적 부분 구조와 중복되는 부분문제를 가지는 것이다. 중복되는 부분문제는 말그래도 중복되는 문제를 가지는 것이고, 최적 부분 구조는 문제를 해결하기 위한 최적의 방법은 문제를 구성하는 부분 문제들의 최..