목록전체 글 (99)
한다 공부
https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 아주 단순한 문제. 공백을 포함한 문자열을 받고, 맨처음이 공백인 경우와 맨끝이 공백인 경우를 제외하고 공백 갯수 +1을 하면 된다. cin>> 으로 받으면 공백을 인식하지 못하기 때문에 getline(cin, str) 을 사용하면 된다. #include using namespace std; int main(){ int ans=0; string s; getline(cin,s); for(int..
무한히 입력을 받다가 더 이상 입력이 없을 때 프로그램을 종료하려면..? #include using namespace std; int main(){ int a; while(cin>>a){ cout
AWS 를 쓰다보면 사용하다보면 어쩐지 사용하던 기능만 사용하게 된다. EC2 .. S3 .. RDS .. ELB .. 그런데 생각보다 람다를 사람들이 많이 사용해서 함 사용해보고 싶었다,, 그러던 와중 마침 클라우드 컴퓨팅 수업에서 AWS 람다를 다루는 과제를 내주셔서 과제하면서 공부한 것 정리 !^^ Lambda AWS에서 Lambda를 검색해 들어가보자 그리고 오른쪽 상단의 함수 생성을 누르자. 함수 이름을 작성하고, 원하는 언어를 선택하고 아래 함수 생성을 누르자.. 그러면 위와 같이 람다 함수를 입력할 수 있는 에디터창이 나온다. 람다 함수로 넘어간 json data는 event에 담겨온다. { 'value': 100 } 으로 데이터를 넘겼다면 event['value'] 과 같은 방식으로 접근하..
HTML을 사용한 프론트로부터 데이터를 전달받기 위해 Form을 사용했다. 에전에 백엔드 API 서버를 만들었을 때는 Serializer를 사용했는데 Form과 Serializer는 형태가 유사하다. Form, ModelForm은 HTML 입력폼을 통해 입력에 대한 유효성 검사를 수행하고 주로 Create, Update 등 admin에서 활동이 된다. Serializer, ModelSerializer는 데이터 변환과 직렬화를 지원하는 것이다. 주로 JSON 포맷 입력에 대한 유효성을 검사한다. 프로젝트를 진행하던 중, 내가 원하는 형태는 "날짜, 위치, 능력" 을 하나의 폼에서 데이터를 받아오는 것이었다. 하지만 Nested serializer, 즉 중첩된 시리얼라이저는 지원을 해주지만 Nested fo..
장고는 MTV 패턴을 가지고 있다. Model, Template, View 인데 쉽게 이야기하면 모델은 데이터, 템플릿은 화면, 뷰는 데이터 처리와 같은 로직을 담당하고 있다. 우선 Model을 작성해야 하는데, 이러한 데이터 구조와 데이터간의 관계를 쉽게 나타내기 위해 ERD (Entity Relationship Diagram) 를 작성해보자 ERDCloud ERDCloud Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool. www.erdcloud.com 여기에서 작성하였다. ERD는 아래와 같다. 추후 수정될 여지가 있다.. (여력이 된다면 좋아요 기능, 커뮤니..
장고 admin 페이지에서 데모 데이터를 넣다가 다음과 같은 에러를 만났다. 깜짝 놀라서 찾아보니 올린 파일의 용량이 너무 커서 엔진엑스 설정을 다시 해주면 해결되는 문제라고 한다. 하지만 내가 올린 용량은 별로 크지 않은데.. ? 다시보니 570KB 사진 2개를 올렸었다. 그러면 1140KB 인데 엔진엑스 업로드 용량 설정을 하지 않았을 때 기본 제한이 1MB = 1024KB 이라고 한다. (납득) nginx.conf에 들어가면 코드가 다음과 같다 upstream 프로젝트명 { server web:8000; } server { listen 80; location / { proxy_pass http://프로젝트명; proxy_set_header X-Forwarded-For $proxy_add_x_forw..
코딩테스트 연습 - 괄호 회전하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 괄호 회전하기 문제를 풀다가 테스트 케이스는 다 통과를 했는데 제출 후 채점하니까 4개의 케이스를 제외하고 모두 segmentation fault (core dumped)가 났다. segmentation fault (core dumped) 의 원인을 찾아보니까 잘못된 배열 인덱스 접근 등등이 문제라고 했다. 잘 생각해보니까 나는 if(st.top()!='{'||st.empty()){ return false; } 이런 식으로, 닫는 괄호 } 를 만났을 때 1. { 가 아닌 다른 괄호를 만나면 괄호 체크 false 2. 스택이 비어있으면 괄호 체크 false..
열심히 로컬에서 Django 프레임워크를 사용해서 프로젝트를 만들었다. 이것을 로컬환경이 아닌, 인터넷을 통해 다양한 사용자들이 사용할 수 있도록 하고싶으면 어떻게 해야할까? 배포를 하면 된다. 지금부터 AWS에서 EC2와 RDS를 사용해서 배포를 하고자 한다. 1. EC2 생성 EC2를 구동하는 것은 서버를 띄우는 것이라고 생각하면 좋다.. 서버를 띄우고 우리의 프로젝트를 올려서 다른 사람들이 접속할 수 있게 할 것이다! 우선 AWS에 회원가입을 해야한다. 새로 가입을 하면 '프리티어'를 사용해 1년간 t2.micro 인스턴스를 무료로 1년간 쓸 수 있다. 그런데 내가 올릴 프로젝트는 t2.micro로는 용량이 부족해서 유료 인스턴스를 사용할 예정이다. 유형으로는 t2.large, t2.xlarge 등..
1541번: 잃어버린 괄호 (acmicpc.net) 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 그리디 연습을 하고자 1541번을 풀어보았다. 한 번이라도 - 가 나왔을 때 그 뒤의 값을 다 뺄셈 해주면 최솟값이 된다. a + b - c - d + e - f + g 같은 경우에는 a + b - c - (d + e) - (f + g) = a + b - c - d - e - f - g 가 된다. 어쨌거나 그리디 적으로 (?) - 나오면 그 뒤의 연산을 다 뺄셈 처리 하는게 전체의 최솟값이다. 그리디는 뭔..
[C] 트리 : 이진트리의 전위, 중위, 후위, 레벨 순회 (tistory.com) [C] 트리 : 이진트리의 전위, 중위, 후위, 레벨 순회 아까 이진트리를 구현할 때 10 / \ 20 30 위와 같은 트리를 어떻게 순회해야 잘 순회했다고 소문이 날까? 여기엔 크게 3가지 순회가 있다. 전위 순회란 루트를 방문하고 왼쪽 서브트리, 오른쪽 서 sxyzn.tistory.com 위 게시글에서 트리의 순회에 대해 알아보았다. C로 풀었던 트리의 순회를 C++에서는 map을 이용하여 풀 수 있다. map은 파이썬에서의 딕셔너리와 비슷한 자료구조이다. key - value 쌍으로 저장이 되며, key 값을 정렬된 상태로 저장한다. pair라는 것도 있는데, 이것은 두 값을 저장할 수 있다. 이 때에는 pair의 ..