알파벳을 1~26의 숫자로 변환하고 싶을 때 ord() 함수는 문자의 유니코드 값을 반환하는 함수이다. print(ord('a'))print(ord('A'))9765 소문자 a는 97, 대문자 A는 65이다.따라서 이를 활용해 다음과 같이 알파벳을 순서대로 숫자로 반환할 수 있다. print(ord('a') - ord('a') +1)print(ord('b') - ord('a') +1)print(ord('c') - ord('a') +1)123 더 활용하면, 다음과 같이 알파벳으로 이루어진 문자열을 알파벳의 순서에 맞는 숫자로 반환하는 코드를 짤 수 있다. alphabet = 'abcdefghijklmnopqrstuvwxyz'alphabet_to_num = []for i in alphabet: alphab..
전체 글
슈의 슈터디 기록구현코딩테스트에서 구현(Implementation)이란 '머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정'이다. 흔히 문제 해결 분야에서 구현 유형의 문제는 '풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제'를 의미한다. 여기서 구현하기 어려운 문제는.. 알고리즘은 간단한데 코드가 지나치게 길어지는 문제, 특정 소수점 자리까지 출력해야 하는 문제, 문자열이 입력으로 주어졌을 때 한 문자 단위로 끊어서 리스트에 넣어야 하는(파싱을 햐야 하는) 문제 등이다. 대체로 사소한 조건 설정이 많은 문제일수록 코드로 구현하기가 까다롭다. 구현 시 고려해야 할 메모리 제약 사항C/C++, 자바 등에 반해 파이썬에서는 프로그래머가 직접 자료형을 지정할 필요가 없으며 매우 큰 수의 연산 또한 기본으로 지원한다...
네트워크 개념네트워크(Network)는 Net와 Work의 합성어로, 그물을 짜는 행위, 즉 그물처럼 연결된 상태를 뜻한다.1960년대, 미국에서 하나의 거대한 메인 프레임의 성능을 다수의 사람이 동시에 활용할 수 있도록 하기 위해 여럭 대의 단말기를 메인 프레임과 전화선으로 연결한 것이 네트워크의 시작이 되었다. 회선 교환 방식(Circuit Exchange Method)은 데이터를 교환하기 위해 1:1로 연결된 데이터 통로(회선)를 만들고 데이터 교환이 완료될 때까지 회선을 계속 사용하는 방식이다. 전화는 일대일로 데이터를 교환하고, 전화 간 통화 중에는 다른 상대와 전화통화가 불가능하다. 따라서 음성전화 시스템에는 회선 교환 방식이 주로 사용된다. 패킷 교환 방식(Packet Exchange ..
그리디 그리디는 '탐욕법'이라고도 불리며, 이름 그대로 어떠한 문제가 있을 때 단순 무식하게, 탐욕적으로 문제를 푸는 알고리즘이다. 여기서 탐욕적이라는 말은 '현재 상황에서 지금 당장 좋은 것만 고르는 방법'을 의미한다. 그리디 알고리즘을 이용하면 매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다. 그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 '가장 큰 순서대로', '가장 작은 순서대로'와 같은 기준을 알게 모르게 제시해준다. 대체로 이 기준은 정렬 알고리즘을 사용했을 때 만족시킬 수 있으므로 그리디 알고리즘 문제는 자주 정렬 알고리즘고 짝을 이뤄 출제된다. Tip! 어떤 코딩 테스트 문제를 만났을 때, 바로 문제 유..
서버와 클라이언트 서버는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치를 말한다. 서버 컴퓨터는 응용 프로그램을 가지고 있다가 클라이언트 컴퓨터에서 요청하면 보내는 역할을 한다. 클라이언트는 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치를 말한다. 클라이언트 컴퓨터는 서버 컴퓨터에 응용 프로그램을 요청한 뒤 서버에서 보내주면 실행하는 역할을 한다. 서버의 역할 및 종류서버는 클라이언트의 요청을 수행하기 위해 다양한 서버들끼리 통신한 후 결과를 클라이언트에 전달하는 역할을 한다. 지금부터는 서버의 종류와 각각의 역할을 알아보자. 웹 서버는 정적 콘텐츠(소스코드, 텍스트, 이미지 등)을 클라이언트에 전달한다. 애플리케이션 서버는 동적 콘텐츠(소스코드, 텍스트..
프로젝트 소개 및 도매인 이해 쿨루프는 도시열섬 현상의 주요원인으로 지목되는 건물 옥상 등에 햇빛과 열의 반사 및 방사효과가 있는 밝은 색 도료 등을 시공하여 열기가 지붕에 축적되는 것을 줄이는 공법으로 옥상 바닥 온도는 10도, 건물 실내온도는 4~5℃정도 낮아지는 가장 효과적인 기후변화대책 중 하나로 알려져 있다. 우리나라에서는 쿨루프 캠페인, 사회적 협동조합 등이 있으며 각 지역에서 쿨루프 프로젝트를 진행중이다. 쿨루프 캠페인 | 지구를 식히는 쿨루프 사회적협동조합 | 대한민국 지구를 식히는 쿨루프 사회적협동조합 공식 홈페이지 Cool Roofs Korea ㅣ 십년후연구소 www.coolroofs.kr 쿨루프 옥상 표면은 15~30도, 실내 온도는 3~4도 감소하는 효과가 있다. 이러한 실내온도 감..
Transfer Learning 사전 학습된 모델 'Inception V3'를 불러와서 차량 파손 여부를 분류하는 문제에 적용 해 본다. 이번에는 image_dataset_from_directory를 이용해 training set, validation set을 만들어 본다. 또한 Image Preprocessing Layer, Image Augmentation Layer를 통해 이미지를 변형시켜 성능을 높여본다. 1. Image_dataset_from_directory https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/image_dataset_from_directory tf.keras.preprocessing.image_dataset_f..
CNN 모델링 4가지 모델 구조를 만들고 성능을 비교 해 본다. 환경 설정 import keras from keras.models import Sequential from keras.layers import Dense, Conv2D, MaxPooling2D, Flatten, BatchNormalization, Dropout, Input, MaxPool2D from keras.backend import clear_session from keras.callbacks import EarlyStopping from sklearn.metrics import classification_report, confusion_matrix 학습 곡선 함수 # 학습곡선 함수 def dl_history_plot(history):..