본문 바로가기

반응형

분류 전체보기

백준 사용법 백준은 알고리즘 문제를 풀어볼 수 있는 사이트입니다. 굉장히 많은 문제가 있고 다양한 언어를 지원한다는 장점이 있습니다. solved.ac 를 이용하면 문제의 난이도도 쉽게 파악할 수 있습니다. https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 위 링크에 접속하여 회원가입을 진행합니다. 이메일 인증을 진행해야 문제를 해결할 수 있으니 인증을 진행해 주세요. 단계별로 풀어보기에서 실력에 맞는 문제들을 풀어 볼 수 있습니다. https://www.acmicpc.net/step 단계별로 풀어보기 단계별은 @jh05013님이 관리하고 계십니다. 단계.. 더보기
<누구나 쉽게 배우는 파이썬> 파이썬 설치하기 이 글은 윈도우 11을 기준으로 작성되었습니다. 파이썬 설치하기 https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 위 링크에 접속하여 다운로드를 클릭합니다. 다운로드 받은 실행 파일 (.exe)을 실행하면 아래와 같은 창이 나타납니다. 여기에서 꼭 아래 사진 별표 옆에 있는 체크 박스를 모두 체크해 주셔야 합니다. 모두 체크 했다면 install now를 클릭하여 설치하여 줍니다. 설치가 완료되면 창을 닫아줍니다. 윈도우 키를 누르고 cmd를 검색하여 실행하여 줍니다. python 이라고 입력하고 엔터를 눌렀을 때 다음과 같이 나온다면 설치에 성.. 더보기
<누구나 쉽게 배우는 파이썬> 자료의 저장 변수 변수란 무엇일까요? 실생활에서 변수라는 말을 종종 쓰기도 합니다. "계획에 변수가 생겼어" 처럼 말이죠. 이 때의 변수는 어떠한 상황에서 변할 수 있는 요인이라는 뜻으로 사용됩니다. 프로그래밍에서는 조금 다른 의미로 사용됩니다. 변수란 단 하나의 값을 저장할 수 있는 메모리 공간 어떠한 값을 저장하고 싶을 때 사용하는 것이 변수 입니다. 물건을 담는 상자처럼 변수는 데이터를 담는 상자라고 할 수 있습니다. 1. 변수의 선언 변수를 사용하기 전에 컴퓨터에게 새로운 변수를 사용할 것이라고 알려주어야 합니다. 이를 변수를 선언한다고 하고 파이썬에서는 변수의 선언과 변수에 값 저장을 동시에 하게 됩니다. 2. 변수에 값 저장 변수에 값은 아래와 같이 저장할 수 있습니다. age는 제가 임의로 정한 변수이름이고 .. 더보기
<누구나 쉽게 배우는 파이썬> 변수 이름 짓는 법 변수의 이름을 지을 때는 정해진 규칙을 지켜야 합니다. 프로그래밍에서 가장 어려운 것이 이름 짓기라는 우스개 소리가 있을 정도로 다른 사람이 쉽게 이해할 수 있도록 변수 이름을 잘 짓는 것은 중요하고 또 어려운 일인 것 같습니다. 이 글에서는 어떤 규칙들을 지켜서 변수 이름을 지어야 하는지 알아봅시다. 1. 꼭 지켜야 하는 규칙들 - 문자부터 시작해야 합니다. ex) 1ab 불가 ab1 가능 - 변수 이름에 공백이 없어야 합니다. ex) year of birth 불가 year_of_birth 가능 - 특수 문자 (-, +, & , %등)은 사용할 수 없습니다. 단 underscore(_) 문자의 경우 사용 가능하고 공백을 나타내는데 많이 사용하며 _문자로 변수명이 시작할 수 도 있습니다. - 파이썬에서 .. 더보기
<누구나 쉽게 배우는 파이썬> 파이썬과의 첫 만남 파이썬 시작하기 이제 파이썬으로 첫 프로그램을 작성해 봅시다. 먼저 윈도우 버튼을 누르고 idle를 검색하여 파이썬 idle를 실행시켜 줍니다. (파이썬을 설치하지 않았다면 파이썬 설치하기를 참고해 주세요.) 그러면 다음과 같은 창이 뜰 것입니다. 위 창에 아래와 같이 입력한 후 엔터를 눌러봅시다. print("hello world!!") 엔터를 누르면 다음과 같이 hello world!! 라는 글자가 화면에 출력되는 것을 확인하실 수 있습니다. (주의!! 따옴표( "" or '' )를 빠뜨리지 말아 주세요.) print라는 이름에서 예측할 수 있듯이 이 코드는 괄호 안의 내용을 화면에 출력하는 코드입니다. 단, 문자를 출력할 때에는 꼭 큰 따옴표로 감싸 주어야 합니다. 괄호 안의 내용을 바꿔서 여러 가.. 더보기
<자료구조 알고리즘> CCW 알고리즘 CCW(Counter Clock Wise) 알고리즘이란? 시계 반대 방향이라는 뜻으로 세 점이 있을 때 이들의 위치 관계를 파악하는 알고리즘이다. 기하 알고리즘에서 덧셈처럼 아주 기본적인 알고리즘이며 선분 교차 convex hull 찾기 알고리즘 등 대부분의 기하 알고리즘에서 사용한다. 결과가 음수라면 시계 방향, 0이라면 일직선, 양수라면 시계 반대 방향이라는 뜻이다. 일직선인 경우 시계 반대 방향 시계 방향 CCW 알고리즘은 벡터의 외적이 두 벡터의 상대적인 방향에 따라 결과 벡터의 방향이 바뀐다는 것을 이용한다. 그럼 벡터의 외적을 먼저 알아보자. 벡터의 외적 $\overrightarrow{v} = \begin{bmatrix} v_1& v_2 & v_3 \\ \end{bmatrix}$ $\overr.. 더보기
<자료구조 알고리즘> 마스터 정리 Master theorem 점화식으로 표현되는 재귀알고리즘의 시간 복잡도를 계산하는 것은 간단한 일이 아니다. 이 글에서는 재귀알고리즘의 시간 복잡도를 조금은 쉽게 계산할 수 있게 해 주는 Master theorem에 대해 알아보자 이름은 Master theorem 이지만 모든 점화식에 사용이 가능하지는 않고 $T(n) = aT(\frac{n}{b}) + f(n)$의 형태의 점화식에만 사용가능하다. 즉 재귀 트리에서 모든 leaf노드의 차수가 같을 때만 가능한 것이다. (a: 분할한 부분 문제의 수, b: 입력의 크기가 줄어드는 비율 당연히 $\geq 2$, $T(\frac{n}{b})$ : 부분문제를 푸는데 걸리는 시간, $f(n)$ : merging에 필요한 시간) Master theorem $$T(n) = aT(\frac{n.. 더보기
<자료구조 알고리즘> 정렬 (삽입정렬) 정렬이란? 선형 자료구조(배열 등)의 원소들을 특정한 순서(오름차순 내림차순등)로 나열하는 것을 이야기 한다. 정렬 자체가 목적일 때도 있겠지만 대부분 검색등의 다른 알고리즘의 전처리 과정으로 사용되는 경우가 많다. 정렬알고리즘 종류 Permutaion Sort, Selection Sort , Bubble Sort , Quick Sort , Insertion Sort , Merge Sort 등 굉장히 많은 종류의 정렬알고리즘이 있다. 각 알고리즘의 방식과 구현방법, 시간복잡도를 알아보도록 하자. 이 글에서는 오름차순을 기준으로 설명하도록 하겠다. Insertion Sort (삽입 정렬) 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입하는 정렬 알고.. 더보기

반응형