파이썬(357)
-
백준 온라인 저널, 우선순위 큐, 자료구조/1655번 : 가운데를 말해요(파이썬) / 백준 골드 문제
문제 정의 수빈이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 수빈이가 정수를 하나씩 외칠때마다 동생은 지금까지 수빈이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 수빈이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다. 예를 들어 수빈이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 수빈이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차..
2021.06.24 -
이진 탐색 개념 정리(이진 탐색 / 시간복잡도 / 파이썬 구현)
이진 탐색 강의 : https://www.youtube.com/watch?v=94RC-DsGMLo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=5 탐색의 개념 - 특정한 데이터를 찾기 위해 데이터를 찾는 과정 탐색의 종류 - 순차 탐색과 이진 탐색 순차 탐색 - 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법 - 시간복잡도 : O(N^2) 이진 탐색 - 정렬되어있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 - 이진 탐색은 시작점, 끝점, 중간점을 이용하여 탐색 범위를 설정한다. - 시간복잡도 : O(LogN) 이진탐색의 구현 방법 0. 이진 탐색을 하기 이전 리스트를 정렬한다. 1. 시작점(0), 끝점(9),..
2021.06.24 -
정렬 개념 정리(선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬 / 시간복잡도 / 파이썬 구현)
정렬 강의 내용 : https://www.youtube.com/watch?v=KGyK-pNvWos&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=4 개념 : 데이터를 특정한 기준에 따라 순서대로 나열하는 것 종류 : 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬 1) 선택 정렬 개념 : 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복하여 하는 정렬 동작 예시 1. 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 가장 앞에 있는 데이터와 바꾼다. 2. 처리되지 않은 데이터 중에서 가장 작은 데이터를 선택해 아직 정렬하지 않은 데이터 중 가장 앞에 있는 데이터와 바꾼다. 3. 모든 데이터에 대해 위의 과정을 반복한다...
2021.06.24 -
백준 온라인 저널, DFS/10026번 : 적록색약(파이썬) / 백준 골드 문제
문제 정의 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, 적록색약인 사람은 구역을 3개 볼 수 ..
2021.06.19 -
백준 온라인 저널, 그리디 알고리즘/1700번 : 멀티탭 스케줄링(파이썬) / 백준 골드 문제
문제 정의 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전기용품의 플러그를 뺐다 꽂았다 하는 불편함을 겪고 있다. 그래서 준규는 자신의 생활 패턴을 분석하여, 자기가 사용하고 있는 전기용품의 사용순서를 알아내었고, 이를 기반으로 플러그를 빼는 횟수를 최소화하는 방법을 고안하여 보다 쾌적한 생활환경을 만들려고 한다. 예를 들어 3 구(구멍이 세 개 달린) 멀티탭을 쓸 때, 전기용품의 사용 순서가 아래와 같이 주어진다면, 키보드 헤어드라이기 핸드폰 충전기 디지털 카메라 충전기 키보드 헤어드라이기 키보드, 헤어드라이기, 핸드폰 충전기의 플러그를 순서대로 멀티탭에 꽂은 다..
2021.06.19 -
웹파이썬 프로그래밍 - Function(함수) 1/2
지난 학습 복습 : Variables(변수) - 변수의 이름은 직관적으로 이해하기 쉬운 것으로 짓는다. * 이때 변수 명의 처음이 숫자이거나 언더바(_)를 제외한 다른 기호들이 들어가면 오류가 발생한다. ex) 123obj(x), hello!(x), no-way(x), no_way(o) - 변수의 assignment와 equality를 구분하자. * 파이썬에서 같다를 의미하는 연산자는 ==이고, 값을 할당할때는 =를 사용한다. - 변수 만들면 타입을 포함한 값이 컴퓨터 메모리 어딘가에 저장된다. - 이때 변수는 해당 컴퓨터 메모리의 주소 값을 저장한다. 강의 내용 1. 함수란? - 특정한 입력값이 주어졌을 때 정해진 규칙에 따라 출력값을 출력하는 것 - 수학에서의 함수와 동일하다. * f(x) = 3x ..
2021.06.19