[Q3] 로그파일 재정렬
·
코딩테스트/알고리즘
[리트코드 937] Reorder Log Files 로그를 재정렬하라. 기준은 다음과 같다. 1. 로그의 가장 앞부분은 식별자다. 2. 식별자는 순서에 영향을 끼치지 않지만, 문자가 동일할 경우 식별자 순으로 한다. 3. 식별자는 순서에 영향을 끼치지 않지만, 문자가 동일한 경우 식별자 순으로 한다. 4. 숫자 로그는 입력 순서대로 한다. 먼저 로그를 읽어 숫자로그와 문자로그로 분류했다. def reorderLogFiles(self, logs: List[str]) -> List[str]: alp_logs = [] num_logs = [] for log in logs: log = log.split() index = log[0] judge = ''.join(log[1:]) string = ' '.join(l..
[Q2] 문자열 뒤집기
·
코딩테스트/알고리즘
[리트코드 344] Reverse String 문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라. 매우 간단한 문제이다. 단순히 리스트를 뒤집으면 되는 문제이다. 1번에서 사용했듯이 문자열 슬라이싱을 사용하였다. def reverseString(self, s: List[str]) -> None: s = s[::-1] 이렇게 제출했더니 오류가 떴다. 무엇이 잘못되었는지 찾을 수 없어 책을 읽어보니 이 문제는 공간복잡도를 O(1)로 제한하므로 s[::-1] 이라는 다른 객체를 사용할 수 없고, 문제에서 말했 듯이 리스트 내부를 직접 조작해야 한다. 그래서 그냥 내장 함수를 사용한다. def reverseString(self, s: List[str]) -> No..
[Q1] 유효한 팰린드롬
·
코딩테스트/알고리즘
[리트코드 125] Valid Palindrome 주어진 문자열이 팰린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문자와 숫자만을 대상으로 한다. 팰린드롬이란 앞으로 읽은 것이랑, 뒤로 읽은 것이 같은 문자열을 말한다. 한글로 예를들면 '다시 합창 합시다' 이런 것들이다. 주어진 조건에서 대소문자를 구분하지 않으며 영문자와 숫자만을 대상으로 하므로, 먼저 정규식을 통해 문자열을 걸러냈다. import re class Solution: def isPalindrome(self, s: str) -> bool: forward = re.sub('[^a-zA-Z0-9]', '', s).lower() re 라이브러리를 통해 알파벳과 숫자만을 걸러낸 후, 알파벳은 lower()함수를 통하여 소문자로 통일하였다. ..
코딩테스트 연습 기록
·
코딩테스트/알고리즘
코딩테스트 연습한 것을 기록하려한다. - 교재 : 파이썬 알고리즘 인터뷰 - 언어 : 파이썬 - 문제 : 리트코드
[5주차] AWS로 웹서비스 배포하기
·
교육/스파르타코딩클럽 - 내일배움단
AWS란? 내가 만든 웹 어플리케이션을 서비스 하기 위해서는 항상 켜져있고 누구나 들어올 수 있어서 웹 서비스를 이용 할 수 있는 그러한 환경이 필요하다. 이를 내 컴퓨터에서 서비스 할 수는 없기때문에 이를 가능하게 해주는 아마존의 클라우드 웹서비스인 AWS의 EC2 서버를 구매해 그 곳에서 우리의 웹 어플리케이션을 구동하여 서비스한다. 5주차 숙제 5주차 숙제는 강의에서 했던 것 그대로 따라하면 더 건드릴 것이 없다.... 하던 중 조금 달랐던 것을 적어보면 ec2에 ssh로 접속하려 했더니, ec2-user로 접속하라고 하여 ec2-user로 접속하였다. ssh -i /path/my-key-pair.pem ec2-user@13.125.250.20 그리고 ec2 한방에 세팅하기에서 python3를 py..
[4주차] 파이썬 Flask
·
교육/스파르타코딩클럽 - 내일배움단
Flask란? Flask란 파이썬에서 웹 서버를 쉽게 구동시켜주는 프레임워크이다. 구조는 다음과 같다. - static - templates app.py static 폴더에는 css, js같은 파일들을 넣고, templates 폴더에는 html 파일들, 그리고 app.py에서 그것들을 연결, 설정하고 웹 서버를 구동한다. 이전에 ajax를 통해 서버에 Get이나 Post로 데이터를 요청하여 받았는데, Flask에서 그러한 Get, Post 요청에 대한 처리를 app.py에서 설정할 수 있다. 먼저 Get에 대한 처리 예제는 다음과 같다. @app.route("/mars", methods=["GET"]) def mars_get(): orders_list = list(db.orders.find({},{'_i..