전체 글 462

[알고리즘] 백준 2606 파이썬 - 바이러스(DFS 풀이)

2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨..

[Django] 웹 프로그래밍 실습(2) - 템플릿 상속 및 처리 결과

1. 과거 학습 내용 [Django] 웹 프로그래밍 실습(1) - 페이지 연결하기(View, Templates) 1. 장고 기본 지식 장고의 기본 내용은 아래 링크를 참조 [Django 기초] 파이썬 장고 - 개념 정리 및 웹 페이지 만들기 1. 웹 프레임워크란? - 웹 서버를 구현하기 위한 목적으로, 해당 기능들을 모아 maeseok.tistory.com 2. 템플릿 상속의 효과 - 쉽게 설명하자면 파이썬의 함수와 비슷하다. 즉 파이썬에서 반복되는 코드를 함수로 정의하여 적재적소에 사용한다. 이와 마찬가지로 장고의 templates의 html 파일에서도 반복되는 내용을 특정 html에 정의하여 함수처럼 사용한다. - 설명을 추가하자면, 함수처럼 정의하는 것이 부모를 정의한 것이고, 그 코드를 자식에서 ..

[알고리즘] 백준 8979 파이썬 - 올림픽

8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 문제 올림픽은 참가에 의의가 있기에 공식적으로는 국가간 순위를 정하지 않는다. 그러나, 많은 사람들이 자신의 국가가 얼마나 잘 하는지에 관심이 많기 때문에 비공식적으로는 국가간 순위를 정하고 있다. 두 나라가 각각 얻은 금, 은, 동메달 수가 주어지면, 보통 다음 규칙을 따라 어느 나라가 더 잘했는지 결정한다. 금메달 수가 더 많은 나라 금메달 수가 같으면, 은메달 수가 더 많은 나라 금, 은메달 수가 모두 같으면, 동메달 수가 더 많은 나..

[Django] 웹 프로그래밍 실습(1) - 페이지 연결하기(View, Templates)

1. 장고 기본 지식 장고의 기본 내용은 아래 링크를 참조 [Django 기초] 파이썬 장고 - 개념 정리 및 웹 페이지 만들기 1. 웹 프레임워크란? - 웹 서버를 구현하기 위한 목적으로, 해당 기능들을 모아놓은 것이다. - 파이썬에는 장고와 플라스크가 있다. 2. 장고와 플라스크의 차이점 - 장고 : 대규모 웹 사이트 개발 -> maeseok.tistory.com 2. 장고 구성 현황 - 프로젝트 : Finance - 어플리케이션 : Index, Inquiry, Portfolio - 이번 포스팅에서는 Index만 다룰 예정이다. #프로젝트 생성 -> 생성 시 기본적인 애플리케이션도 추가됨 django-admin startproject Finacne #애플리케이션 생성 python3 manage.py ..

[알고리즘] 백준 17219 파이썬 - 비밀번호 찾기

17219번: 비밀번호 찾기 첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번 www.acmicpc.net 문제 2019 HEPC - MAVEN League의 "비밀번호 만들기"와 같은 방식으로 비밀번호를 만든 경민이는 한 가지 문제점을 발견하였다. 비밀번호가 랜덤으로 만들어져서 기억을 못 한다는 것이었다! 그래서 경민이는 메모장에 사이트의 주소와 비밀번호를 저장해두기로 했다. 하지만 컴맹인 경민이는 메모장에서 찾기 기능을 활용하지 못하고 직접 눈으로 사이트의 주소와 비밀번호를 찾았다. 메모장에 저장된 사이트의 수가 늘어나면서 경민이는 비..

[알고리즘] 백준 2920 파이썬 - 음계

2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 문제 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 ..

[빅데이터] 데이터 파이프라인과 클라우드(AWS, 애저)

1. 데이터 파이프라인이란? - 데이터 파이프라인은 '데이터가 지나가는 길'을 뜻한다. 물론 데이터가 지나가는 모든 길을 그렇게 부르지는 않는다. 데이터 파이프라인은 데이터의 이동이 어느 정도 체계화, 자동화된 것으로 수집, 가공, 처리, 저장 등이 함께 일어난다. 예시로 인터넷 쇼핑몰에서 구매가 발생하면 구매 기록 데이터가 생성-수집된 후 일련의 처리 과정을 거쳐 데이터 웨어하우스에 저장되는데, 이를 '데이터 웨어하우스'까지 이동한 경로를 데이터 파이프라인이라고 한다. + ETL 추출, 가공, 적재를 뜻하는 ETL은 다양한 데이터 파이프라인 중 하나이다. ETL도 데이터가 흐르는 길로 데이터 추출에서 시작해 가공, 저장으로 이어지는 경우를 특정해 이야기하는 것이다. 또한 실무에서는 ETL을 주기적으로 ..

[알고리즘] 백준 15828 파이썬 - Router

15828번: Router 인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에 www.acmicpc.net 문제 인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에 파일을 전송해달라는 요청을 보내고 파일을 받는 식으로 말이다. 우리가 보낸 요청은 어떻게 목적지까지 도달하는 것일까? 컴퓨터에서는 패킷이라고 하는 형태로 정보를 주고 받는다. 네트워크의 유저들은 1:1로 연결되어 있지 않으므로, 일반적으로 패킷은 라우터라는 장비를 여러 번 거..

[알고리즘] 백준 11399 파이썬 - ATM

11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다..

[Python] 머신러닝 패키지 및 공부자료

1. 머신러닝 패키지 사용 이유? - 데이터 애널리스트의 경우 'Tableau', 'Knime', 'Spotfire' 등과 같은 데이터 분석을 사용하다가 더 정교하게 모델의 구조나 하이퍼파라미터를 바꿔가면서 실험하고 싶을 때 사용한다. - 데이터 사이언티스트나 리서처가 개발한 모델의 성능 비교가 가능한 '벤치마크'를 얻거나 빠른 시간 내에 대략의 인사이트 도출을 위해 패키지를 사용한다. 2. 머신러닝 패키지 종류 1. 사이킷런(Scikit-learn) - 강화학습을 제외한 지도학습, 비지도학습을 사이킷런을 이용해 손쉽게 사용할 수 있다. 알고리즘뿐 아니라 데이터셋을 나눠 주는 함수, 성능 평가 지표 등 다양한 함수가 구현돼 있을 뿐 아니라 '넘파이', '사이파이' 등과 호환이 잘돼 활용도가 높다. 2. ..