목록분류 전체보기 (57)
러닝머신 하는 K-공대생
개인적으로 C/C++은 아직 STL 사용법이 익숙치 않아서, Java는 잘몰라서 지금까지 개발이나 머신러닝 할 때 자주 사용했던 Python을 선호한다. Python이 보통은 C++에 비해 느리지만 PyPy3 컴파일러를 지원해줄 때에는 플래티넘을 넘어서는 문제가 아니라면 적당히 풀린다. 파이썬으로 적절한 알고리즘으로 풀이를 작성해도 시간초과나 메모리 초과가 발생할 수 있다. 적당히 시도해보고 안되면 c++등의 언어로 다시 시도해봐야 한다. 1. 쉽게 이해가 안되는 자료구조,알고리즘들을 그림으로 쉽게 설명 velog.io/@emplam27?tag=%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94 emplam27 (emplam..
20126번: 교수님의 기말고사 교수님이 시험을 시작할 수 있는 시각을 출력하여라. 시작 가능한 시각이 여러 개 있으면 그중 가장 앞선 시각을 출력한다. 시험을 치룰 수 없다면 -1을 출력하여라. www.acmicpc.net 일반적인 경우에 i번째 시험과 i+1번째 시험 사이에 끼어들려면 x(i+1) - (x(i)+y(i)) >= M 이어야 한다. 이때 i를 0부터 n-2까지 해야 0번째부터 시작해서 n-1번째 시험 사이로 끼어들 수 있다(문제에서는 1부터 카운팅하나 나는 0부터 세는게 편해서 이렇게 표현) 위 일반적인 경우를 제외하고는 가능한 경우가 0번째 시험이 시작하기 전에 시험을 진행하는 경우와 n-1번째(마지막) 시험이 끝난 후에 x(n-1)+y(n-1) + M = m: return (arr[i..
20127번: Y-수열 N개의 정수로 이루어진 수열 a1, ... , aN이 있다. 택희는 해당 수열이 증가수열 혹은 감소수열이 되게 만들고 싶다. 증가수열은 모든 i(1 ≤ i arr[i] 가 나올 때까지를 k를 1부터 증가시키고 arr[i-1] <..
11056번: 두 부분 문자열 첫째 줄에 문자열 A, 둘째 줄에 문자열 B가 주어진다. 두 문자열은 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 이 문제는 정말 모를때는 혼자 풀어보겠다고 몇시간을 투자하기 보다는 풀이를 찾아서 접근 방안과 새로운 이론이 필요하다면 그 이론을 공부할 필요가 있음을 알려주었다. 아직 기본적인 알고리즘과 자료구조에 대해 공부해야 할 점이 많다. 문제에서 원하는 부분 문자열은 subsequence(연속적이지는 않은 부분 문자열) 인데 나는 substring(연속적인 부분 문자열) 으로 잘못 이해해서 부분 문자열을 substring으로 생각한 경우에 다음과 같이 코드를 짰다. A = input() B = input() s,l = (A..