전체 글 133

[RC][문법] 도치 - 가정법

가정법이란 사실이 아닌 것을 반대로 가정하는 것이다. (접속사 if 사용) 중요한 것은, 가정법에서 if를 생략하면 if절의 주어와 동사가 도치된다는 것이다. 가정법에는 가정법 미래, 가정법 과거, 가정법 과거완료가 있지만 가정법 도치가 출제될 때는 가정법 미래, 가정법 과거완료 두 가지만 출제된다! 가정법 미래 if + 주어 + should + 동사원형 ~ , 주어 + will + 동사원형 ~ . 도치 Should + 주어 + 동사원형 ~ , 주어 + will + 동사원형 ~ . * should 자리나 동사원형자리가 빈칸으로 출제된다. 예시 If he should be late, we will have to start without him. => Should he be late, we will have..

영어 2019.09.24

[RC][문법] 관계대명사 - 소유격

관계대명사 주격과 관계대명사 목적격의 경우 기억해야 할 것들이 많지만, 관계대명사 소유격은 오직 1가지 규칙만 기억하면 된다! -> 아래에서 확인! 관계 대명사의 기초 관계대명사 = 접속사(두 문장을 합쳐주는 역할) + 대명사(대명사의 역할) 관계대명사 소유격 = 접속사(두 문장을 합쳐주는 역할) + 소유격 대명사(소유격 대명사의 역할) 소유격 관계대명사의 형태 명사 + 관계대명사 소유격 + 무관사 명사~ * 소유격 뒤에는 반드시 명사가 와야 하므로 관계대명사 소유격 뒤에도 명사(무관사)가 온다. * 뒤에 불완전한 문장이 오는 주격, 목적격과 달리 완전한 문장이 온다. ※ 무관사 명사( 관사(a, an, the)가 붙지않은 명사 ) 예시 I know a woman whose sister is a famo..

영어 2019.09.24

런타임 에러가 발생하는 이유

배열에 할당된 크기를 넘어서 접근했을 때 전역 배열의 크기가 메모리 제한을 초과할 때 지역 배열의 크기가 스택 크기 제한을 넘어갈 때 0으로 나눌 떄 라이브러리에서 예외를 발생시켰을 때 재귀 호출이 너무 깊어질 때 이미 해제된 메모리를 또 참조할 때 프로그램(main 함수)가 0이 아닌 수를 반환했을 때 출처: https://www.acmicpc.net/board/view/22980

[백준][그리디 알고리즘][파이썬] 1541.잃어버린 괄호

https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. www.acmicpc.net 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다가 괄호를 모두 지웠다고 한다. 그리고 식의 값이 최소가 되도록 괄호를 사용하고 싶어한다. 세준이를 도와주자. 예를 들어 55-50+40을 최소로 만들기 위해서는 55-(50+40) 이렇게 괄호를 사용해야한다. 그럼 식의 값은 -35가 된다. 최소값으로 만들어야하니까 괄호를..

[웹 크롤링] 2. 네이버 실시간 검색어 가져오기

저번 포스팅에서 우리는 사용자와 서버간의 관계에 대해 간략히 알아보고 이에 대한 이해를 바탕으로 파이썬 코드를 사용하여 네이버의 전체 코드를 가져와봤다. 이번 시간에는 네이버 전체 코드 중에서 실시간 검색어를 가져오는 방법에 대해 알아보자. 만약 우리가 사람에게 웹상의 어떤 정보를 수집해서 엑셀 등에 저장하라고 지시한다면 해당 정보가 웹상의 어디에 위치해 있는지 말해 주어야 한다. 실시간 검색어의 경우 네이버 메인 페이지의 오른쪽 위에 있다. 따라서 사람에게 지시할 경우 오른쪽 위에서 실시간 검색어를 찾으라고 지시해 주어야 한다. 하지만 이렇게 웹상의 화면으로 정보를 인식하는 것은 사람의 경우이고, 컴퓨터는 코드로 정보를 인식한다. 따라서 사람에게 일을 시키듯 '오른쪽 위에 있는'이라고 정보의 위치를 알..

[웹 크롤링] 1. 웹 크롤링의 기초(네이버의 전체 코드를 가져와보자)

웹 크롤링에 들어가기에 앞서 사용자(브라우저)와 서버간의 관계에 대해 간단히 알아보자. 우리는 하루에 한 번 이상은 네이버에 들어갈 것이다. 실시간 검색어가 궁금하거나 뉴스를 보거나 등등의 이유로.. 여기서 우리는 '들어간다'는 표현을 쓴다. 마치 사용자가 필요한 데이터가 있는 웹으로 움직인다는 뉘앙스로 표현을 한다. 하지만 웹은 사실 정반대로 움직인다. 사용자가 주소창에 URL을 입력하고 엔터를 누르는 순간 브라우저는 해당 URL이 가리키고 있는 서버로 데이터를 달라고 요청(request)을 보내고 서버는 요청을 받아서 문제가 없다면 응답(response)을 보낸다. 이 응답안에 우리가 브라우저로 볼 수 있는 해당 페이지의 모든 정보가 들어 있는 것이다. 즉, 오히려 사용자는 요청을 보낸 뒤 가만히 있..

[백준][그리디 알고리즘][파이썬] 11047.동전 0

https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 N, K = map(int, input().split()) ############################################### # value_list = [] #..

[정렬 알고리즘][파이썬] 퀵 정렬

퀵 정렬(quick sort)에서는 기준이 되는 수(pivot)를 수열 안에서 임의로 하나를 선택합니다. 그리고 피봇 이외의 수를 '피봇보다 작은 수'와 '피봇 이상인 수'의 두 그룹으로 나누고 이것을 다음과 같이 배치합니다. '피봇보다 작은 수' < 피봇 < '피봇 이상인 수' 그리고 양쪽 그룹을 또 다시 퀵 정렬을 사용해 나누고 이것을 계속 반복하면 자연스럽게 정렬이 이루어집니다. - 책 알고리즘 도감 위의 막대기들을 퀵 정렬을 사용해 오름차순으로 정렬해 보겠습니다. 1. pivot을 임의로 하나 선택합니다. 여기서는 40이 선택되었다고 가정하겠습니다. 2. pivot 이외의 각 숫자를 pivot과 비교해 갑니다. pivot보다 작은 숫자는 왼쪽, 큰 숫자는 오른쪽으로 이동합니다. 20 < 40 이므..

[정렬 알고리즘][파이썬] 병합 정렬

병합 정렬(merge sort)은 정렬하고 싶은 수열을 두 개의 수열(거의 같은 길이)로 분할해 갑니다. 더 이상 분할되지 않는 상태에 이르면(즉, 각 그룹이 한 개의 숫자가 된 경우) 그룹들을 병합(merge) 해 나갑니다. 병합할 때에는 정렬이 끝난 두 개의 수열을 병합해서 정렬이 끝난 하나의 수열로 만듭니다. 이것을 전체가 하나의 그룹이 될 때까지 반복합니다. - 책 알고리즘 도감 1. 수열을 반씩 분할해 나갑니다. 2. 병합하면서 정렬하는 작업을 반복합니다. [4, 6]과 [3, 7]을 병합할 때처럼 2개 이상의 숫자를 포함하고 있는 그룹들을 서로 병합할 때는 선두의 숫자를 비교해서 작은 숫자를 이동시킵니다, 1. 4와 3을 비교하고 4 > 3 이므로 3을 이동시킵니다. 2. 그 다음 선두인 4과..

[정렬 알고리즘][파이썬] 힙 정렬

힙 정렬(heap sort)은 힙이라는 데이터 구조를 사용하는 것이 특징입니다. -책 알고리즘 도감 1. 힙에 숫자를 저장 처음에는 힙에 모든 숫자를 저장합니다. 그리고 힙을 내림차순 혹은 오름차순으로 구축합니다. 여기서는 내림차순으로 구축해보겠습니다.(내림차순 힙은 큰 것부터 순서대로 데이터를 추출하는 성질이 있으므로 꺼낸 숫자를 역순으로 나열하면 정렬이 완료됩니다. 반대로 오름차순 힙은 꺼낸 숫자를 그냥 나열하면 정렬이 완료될 것입니다.) 2. '꺼내고 재구축' 반복 힙에 저장된 숫자를 하나씩 '꺼내고 재구축'하는 것을 반복해주면 정렬이 완료됩니다. (재구축을 하는 방법은 '[자료 구조] 힙'을 참고하세요.) 힙 정렬을 위해 n개의 숫자를 저장할 때 걸리는 시간은 O(n log n)이 됩니다. 빈 상..