분류 전체보기(619)
-
다이나믹 프로그래밍 개념 정리(탑다운(메모이제이션)/ 바텀업 시간복잡도 / 파이썬 구현)
다이나믹 프로그래밍 강의 내용 : https://www.youtube.com/watch?v=5Lu34WIx2Us 1. 개념 - 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법 - 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않도록 한다. - 다이나믹 프로그래밍의 구현은 일반적으로 두 가지 방식(탑 다운과 바텀 업)으로 구성된다. - 동적 계획법이라고도 부른다. - 점화식을 사용해 문제를 해결한다. * 점화식: 인접한 항들 사이의 관계식 * 점화식은 프로그래밍에서 재귀함수를 사용하면 구할 수 있다. * 수열은 배열이나 리스트를 이용해 표현할 수 있다. cf) 일반적인 프로그래밍 분야에서 동적이라고 이야기하는 것과는 약간 차이가 있다. ex) 자료구조에..
2021.07.09 -
웹파이썬 프로그래밍 - 조건문(Conditional statement)
지난 학습 복습: Boolean(문자열) - 논리 연산자는 and, or, not이 있다. - 비교 연산자는 >, >=, > True A >> True ab >> True abc >> True 가 >> True 1. 조건문(Conditional Statement) - if, elif, else를 사용해 조건문을 표현한다. * if: 가장 최우선으로 검토하는 조건이다. 해당 조건이 true면 해당 조건문의 block이 실행된다. * elif: 위의 if문이 false일 때 검토하는 조건이다. 해당 조건이 true면 해당 조건문의 block이 실행된다. * else: 모든 if문이 false 일 때 실행하는 조건문이다. 별다른 조건이 들어가지 않고, ..
2021.07.08 -
자바스크립트_3 / 연산자
1. Operator - 다른 프로그래밍 언어와 마찬가지로 비슷한 연산자를 가지고 있다. - string, numeric 연산자와 대입 연산자, 비교 연산자, 논리 연산자가 있다. - 특징적으로 자바 스크립트는 increment operator와 decrement operator가 있다. 이는 연산과 값을 증가 또는 감소 시키는 동작을 하는 것을 의미한다. 1-1. String operator - +: 문자열을 합치는 연산자. 문자열과 숫자가 함께 사용되면 문자열로 간주해 이를 더한다. console.log('my' + ' cat'); console.log('1' + 2); console.log(`string literals: 1 + 2 = ${1 + 2}`); console.log('I\'m Hanbi..
2021.07.06 -
웹파이썬 프로그래밍 - Boolean
지난 학습 복습: String(문자열) - String은 문자열을 가리킨다. - String은 따옴표('')나 쌍따옴표("")를 사용해서 구현할 수 있다. - 파이썬에서 String의 길이는 최대 컴퓨터 메모리가 허용하는 만큼 사용할 수 있다. - 문자열 내에서 일정한 의미를 표현하기 위해서 이스케이프 시퀀스를 사용한다. 강의 내용 1. 파이썬에서의 Boolean - True와 False의 값을 가지고 있는 타입 형태 2. 논리 연산자와 비교 연산자 - 논리 연산자와 비교 연산자로 구분할 수 있다. - 각 연산자끼리 함께 사용할 수 있다. 2-1. 논리 연산자 - 논리 연산자는 and, or, not이 있다. * and : 두 개의 값이 모두 True인 경우 True * or : 두 개의 값 중 하나만 ..
2021.07.06 -
백준 온라인 저널, 그리디 알고리즘/1783번: 병든 나이트(파이썬)
문제 https://www.acmicpc.net/problem/1783 문제 정의 병든 나이트가 N × M 크기 체스판의 가장 왼쪽아래 칸에 위치해 있다. 병든 나이트는 건강한 보통 체스의 나이트와 다르게 4가지로만 움직일 수 있다. 2칸 위로, 1칸 오른쪽 1칸 위로, 2칸 오른쪽 1칸 아래로, 2칸 오른쪽 2칸 아래로, 1칸 오른쪽 병든 나이트는 여행을 시작하려고 하고, 여행을 하면서 방문한 칸의 수를 최대로 하려고 한다. 병든 나이트의 이동 횟수가 4번보다 적지 않다면, 이동 방법을 모두 한 번씩 사용해야 한다. 이동 횟수가 4번보다 적은 경우(방문한 칸이 5개 미만)에는 이동 방법에 대한 제약이 없다. 체스판의 크기가 주어졌을 때, 병든 나이트가 여행에서 방문할 수 있는 칸의 최대 개수를 구해보자..
2021.07.06 -
백준 온라인 저널, 그리디 알고리즘/1543번 :문서 검색(파이썬)
문제 https://www.acmicpc.net/problem/1543 문제 정의 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 단어가 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수 있고, 2번부터도 찾을 수 있다. 그러나 동시에 셀 수는 없다. 세준이는 문서와 검색하려는 단어가 주어졌을 때, 그 단어가 최대 몇 번 중복되지 않게 등장하는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이..
2021.07.06