전체 글

전체 글

    [백준/파이썬] 1002번 문제 '터렛'

    https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 문제 조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다. 이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다. 조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r..

    [백준/파이썬] 1000번 문제 'A+B'

    https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 a and a b and b < 10)): a, b = input().split() a = int(a) b = int(b) print(int(a) + int(b)) 우선, 값을 입력받을 변수로 a와 b를 -1로 선언 및 초기화해준다. 그리고 문제 ..

    [파이썬] Python SMTP 모듈을 사용하여 Email 전송하기 / SMTPAuthenticationError : 534 오류 해결 방법

    이번 포스팅에서는 파이썬 내장 모듈인 SMTP를 사용하여 프로그램으로 이메일을 전송하는 실습을 진행해볼 것이다. SMTP는 Simple Mail Transfer Protocol의 약자로, 이메일을 송/수신하는데 사용하는 TCP/IP 프로토콜이다. 쉽게 말하자면, 컴퓨터 사이에 이메일 통신을 위한 규약이라고 할 수 있다. import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart 우선, SMTP를 사용하기 위해 필요한 smtplib 모듈을 import한다. 그 아래에 클래스들을 보면 MIME이라는 이름을 가지고 있는데, MIME은 이메일과 함께 전송할 파일을 텍스트 형식으로 변환해주는 역할..

    [Develop/파이썬] 셀레니움 크롤링(Crawling) - Tistory 포럼 자동 댓글 프로그램 문제점 개선하기

    이전 포스팅을 꼭 참고해주시기 바랍니다. [Develop/파이썬] 셀레니움 크롤링(Crawling) - Tistory 포럼 자동 댓글 등록 프로그램 : https://itstory1592.tistory.com/26 [Develop/파이썬] 셀레니움 크롤링(Crawling) - Tistory 포럼 자동 댓글 등록 프로그램 개발 동기 티스토리(Tistory)는 자체적으로 포럼(Forum) 사이트를 제공함으로써 많은 블로거들의 소통 공간을 마련해주고 있다. 포럼을 한 번이라도 이용해본 유저라면 알겠지만, 티스토리 블로거 itstory1592.tistory.com 이번 포스팅에서는 지난 글에 이어 파이썬 셀레니움 라이브러리를 이용하여 개발했던 티스토리 포럼 게시글에 자동으로 댓글을 다는 프로그램의 문제점을 개선..

    [파이썬] 코랩(CoLab)에서 구글 드라이브 파일(csv, txt ...) 가져오기

    코랩(CoLab) 환경에서 개발을 하다보면 파일 입출력을 해야할 때가 있을 것이다. 보통 코랩을 사용하는 이유가 개발하는 장소가 유동적이기 때문에, 온라인 상에서라도 개발 환경이 변하지 않도록 가상 환경을 구축해놓는 것이다. 마찬가지로 파일 입출력의 경우에도 csv 또는 txt 파일들을 개발 환경에 계속 저장해놓을 수 없는 상황이 있을 수 있기 때문에, 코랩에서는 구글 드라이브에 파일을 저장해놓고 접근할 수 있는 모듈을 제공해준다. 이렇게 하면 개발 환경이 달라진다고 해서 파일을 계속 다운받을 필요도 없을 뿐더러, 마치 파일 입출력을 통해 DB와 비슷한 효과를 볼 수도 있다. 그럼 이제 이런 환경을 어떻게 구축하는지 알아보자. from google.colab import drive drive.mount(..

    [Develop/파이썬] 셀레니움 크롤링(Crawling) - Tistory 포럼 자동 댓글 등록 프로그램

    개발 동기 티스토리(Tistory)는 자체적으로 포럼(Forum) 사이트를 제공함으로써 많은 블로거들의 소통 공간을 마련해주고 있다. 포럼을 한 번이라도 이용해본 유저라면 알겠지만, 티스토리 블로거들 사이에는 소통뿐만 아니라 상호간의 맞구독이라는 문화가 존재한다. 여기서 '맞구독'이란, 블로거들끼리 서로의 블로그를 구독하고 협업(?)하는 개념이다. 구독자가 많으면 많을 수록 자신이 등록한 게시글을 보기 위해 블로그를 방문하는 이용자가 늘어날뿐만 아니라, 사람들이 이 블로그를 이만큼 구독할 정도로 신뢰도가 있다는 것을 의미하기 때문에 많은 티스토리 블로거들이 맞구독을 하기위해 본인의 블로그를 포럼에서 홍보하고 있는 상황이다. 본인 또한 포럼을 자주 이용하며, 스크린샷의 댓글처럼 다양한 블로거들의 게시글에 ..

    [파이썬/Error] 셀레니움 unknown error: ChromeDriver only supports characters in the BMP 해결방법

    파이썬으로 셀레니움(Selenium) 라이브러리를 사용하여 티스토리 포럼 게시글에 자동으로 댓글을 다는 프로그램을 개발하던 중에 'unknown error: ChromeDriver only supports characters in the BMP' 에러를 겪게 되었다. 아래 코드는 에러를 발생시킨 문제의 코드와 에러문구이다 for page in range(1,2): ...생략... for text_box in text_boxes: text_box.send_keys('안녕하세요😃\n저는 IT/코딩 블로그를 운영하고 있습니다~~!!\n서로 맞구독하고 소통해요 :)') text_box.submit() 그냥 읽었을 땐 'ChromeDriver는 BMP형식 내에서characters만 지원한다' 라고 하는듯하다. 무..

    [인공지능][실습] 합성곱 신경망(Convolution Neural Network) - CNN 모델로 패션 MNIST 데이터셋 훈련시키기

    합성곱 신경망(CNN)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념] 합성곱 신경망(CNN) - 패딩(Padding)과 스트라이드(Strides), 풀링(Pooling) 완전정복하기 : https://itstory1592.tistory.com/23 지난 포스팅에서 합성곱 신경망(CNN)에 대한 구조와 개념에 대해 알아보았다. 패딩(Padding)을 통해 입력 크기와 출력 크기를 동일하게 만들어주고, 풀링(Pooling)층을 사용하여 특성맵의 크기를 줄이는 방법을 알 수 있었다. 합성곱 신경망은 이미지를 분류할 때 효과적인데, 예를 들어 숫자 이미지를 학습시켜 무슨 숫자인지를 맞춘다거나, 여러 옷 이미지 중에서 어떤 카테고리에 속하는 의류인지 맞추는 모델을 만들 수 ..

    [인공지능][개념] 합성곱 신경망(CNN) - 패딩(Padding)과 스트라이드(Strides), 풀링(Pooling) 완전정복하기

    합성곱 신경망 (CNN - Convolutional Neural Network) 합성곱 신경망(CNN)은 이미지 데이터를 분류할 때 효과적인 딥러닝이다. 예를 들어, 숫자 이미지를 학습시켜 무슨 숫자인지를 맞춘다거나, 여러 옷 이미지 중에서 어떤 카테고리에 속하는 의류인지 맞추는 모델을 만들 수 있다. 합성곱(Convolution)은 마치 입력 데이터에 도장을 찍어 유용한 특성만 드러나게 하는 것으로 비유할 수 있다. 이번 글에서는 합성곱의 동작 원리에 대해 알아보겠다. 이전 포스팅에서 알아본 인공 신경망(ANN) 밀집층에는 뉴런마다 입력 개수만큼 가중치가 존재했다. 즉, 모든 입력에 가중치를 곱하는 셈이다. 인공 신경망은 처음에 가중치와 절편을 랜덤하게 초기화한 다음 에포크를 반복하며, 경사 하강법 알..

    [인공지능][개념&실습] 최상의 신경망(ANN) 모델을 만들고 Save 해보자 - 드롭아웃(Dropout), 콜백(Callback), 조기 종료(Ealry Stopping)을 통한 신경망 최적화

    인공신경망(ANN)에 대한 이론이 필요하신 분들은 아래 링크를 참조해주시기 바랍니다. [인공지능][개념&실습] 인공 신경망(ANN)에 대해 알아보고 패션 MNIST 데이터셋으로 패션 아이템을 분류해보자 : https://itstory1592.tistory.com/21 지난 포스팅에서는 인공신경망(ANN)에 대한 이론을 알아보고 직접 신경망을 통해 패션 아이템을 분류하는 실습을 진행해보았다. 확실히 이전에 알아보았던 머신러닝 알고리즘에 비해 직접 모델의 구조를 만든다는 느낌이 강하게 들었을 것이다. 층을 추가하고 층에 있는 뉴런 개수와 활성화 함수를 결정하는 등 해야 하는 일이 추가되었기 때문이다. 그럼 모델에는 무조건 층을 많이 추가하고, 훈련을 많이 시키기만 하면 좋아지는 것일까? 정답은 NO! 복잡한..