본문 바로가기

전체보기

(47)
[LeetCode] Word Break II 풀이 - (python 파이썬) 사용 언어: Python 파이썬 문제: https://leetcode.com/problems/word-break-ii/ Word Break II - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이 문제는 Word Break(Medium)과 연관된 문제로, 좀 더 난이도가 높은 문제이다. Word Break의 해설은 여기서 볼 수 있다. 이 문제의 핵심은 Memoization이다. Memoization은 동일한 계산을 반복할 때, 이전의 값을 메모리에 저장하여 ..
[LeetCode] Word Break 풀이 - (python 파이썬) 사용 언어: Python 파이썬 문제: https://leetcode.com/problems/word-break/ Word Break - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이 문제는 Dynamic Programming으로 풀었다. Dynamic Programming이란? Dynamic Programming(동적 계획법)은 주어진 문제를 잘게 나누어서 하위 문제들을 푼 후, 각 답을 이용하여 주어진 문제를 푸는 방식이다. DP를 풀 때 생각해야하는 것..
[백준] 1463 1로 만들기 풀이 - Dynamic Programming (python 파이썬) 사용 언어: Python 파이썬 문제: https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 이 문제는 Dynamic Programming을 사용해서 풀 수 있다. Dynamic Programming이란? Dynamic Programming(동적 계획법)은 주어진 문제를 잘게 나누어서 하위 문제들을 푼 후, 각 답을 이용하여 주어진 문제를 푸는 방식이다. DP를 풀 때 생각해야하는 것은 딱 하나다. 바로 '점화식'이다. 점화식만 세우면 문제 풀이는 끝났다. 주어진 문제를 읽어보자. 정수 X로 할 수 있는 연산은 총 3가지이다. 1. X를 3으로 나누기 2. X를 ..
[백준] 11054 가장 긴 바이토닉 부분 수열 풀이 - (python 파이썬) 문제: https://www.acmicpc.net/problem/11054 사용 언어: Python 파이썬 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 이 문제는 가장 긴 증가하는 부분 수열 구하는 문제유형을 약간(?) 꼬아둔 문제다. 가장 긴 증가하는 부분 수열 구하기 유형을 처음 접한다면 이 글을 읽어보길 바란다. 2020/10/08 - [Algorithm] - 가장 긴 증가하는 부분 수열(LIS) 완전 정복 - 백준 파이썬 가장 긴 증가하는 부분 수열(LIS) 완전 정복 - 백준 파이썬 최근 들어, 알고리즘에 재미를 붙였..
AWS EBS vs EFS vs S3, 어느 스토리지를 써야할까? 오늘은 AWS 서비스 중 안정적이고 복원력을 갖춘 스토리지 EBS와 EFS에 대해 공부해보았다. 이 두 스토리지 시스템의 특징과 어느 상황에서 각 서비스를 사용해야 하는지 알아보자. EBS (Elastic Block Storage!) AWS EC2 (Elastic Compute Cloud)에서 사용하도록 설게된 사용하기 쉬운 고성능 블록 스토리지 서비스 AZ(가용 영역)내에서 복제를 통해 재해복구 볼륨의 특정 시점 스냅샷을 S3에 저장할 수 있다 마지막 스냅샷 이후 변경된 블록만 저장 비동기적 생성(수정된 블록이 S3로 모두 이동할 때까지 스냅숏 상태는 pending!) 사용 중인 볼륨도 스냅샷 생성할 수 있다(단, 루트 디바이스 역할의 EBS볼륨은 인스턴스 중지해야 한다) 무제한의 확장성, 빠른 복원,..
AWS S3(Simple Storage Service)란? AWS Solutions Architect Associate 자격증을 공부하면서 내용을 정리하고있다. 오늘은 S3에 대해서 작성해보았다. SAA는 항상 각 서비스마다 FAQ를 읽어야한다. Amazon Simple Storage Service(S3) – 클라우드 스토리지 – AWS aws.amazon.com 인터넷 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있는 객체 스토리지 뛰어난 확장성, 유연성, 사용한만큼 비용 지불 객체의 크기: 최소 0byte ~ 최대 5TB 단일 PUT요청으로 업로드 가능한 객체의 최대 크기는 5GB이지만 100MB를 넘는다면 Multi Part Upload를 사용하는 것이 좋다. S3가 제공하는 스토리지 클래스 Standard Intelligent-Tiering Stan..
[severless] 학교 공지사항 크롤러 (Puppeteer + AWS Lambda + DynamoDB => slack) 지난 글에서 작성한 [웨일 확장앱 개발기]도 그렇고 이번에도 학교랑 관련된 개발을 진행해보았다. 일정한 시간 간격으로 크롤링해서 학교 공지사항을 알려주는 봇이다. 크롤링으로 많이 사용하는 언어는 python이라고하는데 puppeteer를 마침 써볼 일이 생겨서 javascript로 개발을 했다.먼저, 이 크롤링 봇의 결과물은 다음과 같다. 학교 친구들이랑 같이 사용하고있는 텀 프로젝트용 Slack에 webhook을 만들어서 정해진 시간에 새로운 글을 메세지로 보내줄 수 있도록 했다.시작하기전에!1. node.js 버전 12.x2. AWS 계정 생성 후, AWS Configure 등록하기- free-tier 범위내에서 충분히 커버가능하다.3. puppeteer, cheerio에 대한 기본 지식프로젝트 세팅..
[퀵숙] 웨일 확장앱 만들어본 후기(+ 크롬 익스텐션) 난 원래 크롬 브라우저를 매우 애용했었다. 근데 웨일을 쓰는 친구가 강력 추천을 하길래 써보게 되었다. 생각보다 좋잖아?! 라는 생각에 웨일에 점점 익숙해지게 되었다. 그러던중, 웨일 확장앱 개발이라는 사이트를 우연히 발견하게 되었다. 뭘 만들어볼까.. 하다가 울학교 사이트 모아주는 확장앱이 있으면 좋겠다싶어서 만들었다. (난 이미 졸업했는데...ㅋ) 사실 학교 공지사항을 놓치거나 꿀정보가 담긴 사이트를 모르는 학생들이 워~~~~~낙 많아서... 필요한 것 같긴했다. 웨일 개발자센터 웨일 개발자센터 Move the web, forward. developers.whale.naver.com 소개에 보면, 크롬 브라우저의 익스텐션을 거의 그대로 가져와 웨일 확장앱으로 등록할 수 있다고 되어있다. 나는 웨일을 ..