이번엔 Python을 이용해 현재 시간을 여러 형식으로 출력하는 방법을 알아보겠습니다. time 라이브러리의 strftime 메서드를 사용해서 간단하게 현재 시간을 나타낼 수 있습니다. strftime 메서드는 datetime에서도 똑같이 사용하실 수 있습니다. Contents * 전체 코드 import time time.strftime('%Y.%m.%d - %H:%M:%S') # 년.월.일 - 시간 # Output : '2022.04.04 - 01:33:26' time.strftime('%y%m%d - %X') # 년월일 - 시간 # Output : '220404 - 01:35:57' time.strftime('%x %X') # 날짜 - 시간 # Output : '04/04/22 01:37:57' ti..
이번엔 백준 2800 괄호 제거 문제를 풀어보겠습니다. 주요 자료구조는 스택을 사용하며, 조합(combinations)을 이용해 풀어보겠습니다. 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net Contents *전체 코드 from itertools import combinations problem = list(input()) # 문제 입력받는 리스트 p, brk_idx = [],[] # 괄호쌍 찾을 스택 -> p , 괄호쌍 인덱스 저장 이중리스트 -> brk_idx result..
이번엔 JSON파일을 데이터 프레임으로 상호 변환하는 방법에 대해 알아보겠습니다. #전체 코드 import json, pandas as pd # test.json 내용: [{"name":"Jack","age":26},{"name":"Ace","age":87}] with open('test.json') as f: js = json.loads(f.read()) ## json 라이브러리 이용 df = pd.DataFrame(js) df = pd.read_json('test.json') ## pd.read_json 이용 ## orient df.to_json() # default : orient='columns' # Output : '{"name":{"0":"Jack","1":"Ace"},"age":{"0":26..
Contents 이번엔 백준 12015 가잔 긴 증가하는 부분 수열 2 문제를 Python을 이용해 풀어보겠습니다. 12738 가장 긴 증가하는 부분 수열3 역시 아래와 풀이가 완전 동일합니다. * 12015 문제 링크 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net * 12738 문제 링크 12738번: 가장 긴 증가하는 부분 수열 3 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1..
이번엔 딕셔너리를 요소로 가지고 있는 리스트가 있을 때, 해당 리스트를 딕셔너리의 key값을 기준으로 정렬하는 방법에 대해 알아보겠습니다. Contents *전체 코드 li = [{'name':'Ace', 'age':87}, {'name':'Bella', 'age':10}] # name을 기준으로 사전순 정렬 print(sorted(li , key= lambda x: x['name'])) ## Output : [{'name': 'Ace', 'age': 87}, {'name': 'Bella', 'age': 10}] # name을 기준으로 사전 역순으로 정렬 print(sorted(li , key= lambda x: x['name'], reverse=True)) ## Output : [{'name': 'Ac..
Contents 이번엔 파이썬에서 두 리스트의 교집합을 순서를 유지 하여 구하는 간단한 코드를 보겠습니다. 1. 전체 코드 a = [1,2,3,4,5] b = [5,4,3] c = [3,4,5] [_ for _ in a if _ in c] # a순서 기준 # Output: [3, 4, 5] [_ for _ in b if _ in c] # b순서 기준 # Output: [5, 4, 3] 2. a 순서 기준 a = [1,2,3,4,5] c = [3,4,5] [_ for _ in a if _ in c] a 리스트 순서를 기준으로 해서, c 리스트와 교집합을 구하는 코드입니다. 리스트 컴프리핸션 내에서 _(언더바) 변수는 다른 변수와 겹치지 않고, 저 순간에만 간단히 사용함을 의미합니다. (리스트 컴프리핸션에 ..
DISTINCT란 중복제거 키워드입니다. SELECT로 DB에서 컬럼을 조회할 때, 중복되는 값을 제거하고 조회할 때 사용합니다. 즉, DISTINCT 키워드를 붙인 필드(컬럼)는 중복 값을 합쳐 한 번만 출력합니다. Contents 1. 기본 형태 -- 테이블에서 필드에 대해 중복제외하여 출력 SELECT DISTINCT 필드 FROM 테이블 2. 예시 아래와 같이 name(도시이름)컬럼과 region(지역이름)컬럼에 중복이 있는 테이블이 있습니다. 1) 기초 사용법 -- tCity 테이블에서 region컬럼에 대해 중복 제거하여 출력 SELECT DISTINCT region FROM tCity; 2) DISTINCT 키워드 뒤에 2개 이상 컬럼 사용 DISTINCT 뒤에 2개 이상의 컬럼을 사용하면,..
SELECT 쿼리문에서 별 지정이 없을 경우, 레코드(행)의 출력 순서는 DBMS의 디폴트 순서에 따릅니다. 오라클은 입력 순서대로 출력하고, SQL Server와 MariaDB는 기본키에 대해 오름차순으로 출력합니다. ORDER BY를 이용하면 DataBase에 대해 정렬 순서를 원하는 대로 지정할 수 있습니다. Contents 1. 기본 형태 -- ORDER BY는 SELECT문과 함께 쓰입니다. -- ASC : 오름차순(default), DESC : 내림차순 SELECT 필드목록 FROM 테이블 ORDER BY 필드 [ASC | DESC] 2. 예시 1) 기본 예시 -- popu(인구) 기준으로 오름차순 정렬 -- (오름차순이 default 이기 때문에, 아래 두 쿼리문은 동치) SELECT * F..
SELECT문은 데이터베이스(DB) 테이블의 데이터를 읽어 출력하는데, 이 동작을 조회라고 합니다. 테이블을 조회하는 것은 가장 기본적인 동작이며, SELECT 문은 모든 SQL 명령 중 사용 빈도가 압도적으로 가장 높습니다. Contents 1. SELECT (조회) 1) 기본 형태 -- 테이블에서 필드목록 조회 SELECT 필드목록 FROM 테이블 2) 예시 -- tCity라는 테이블에서 모든 필드(*) 조회 SELECT * FROM tCity; -- tCity라는 테이블에서 name, popu 컬럼 조회 SELECT name, popu FROM tCity; 2. WHERE (조건문) 1) 기본 형태 -- 테이블에서 조건에 맞는 경우에 대해, 필드목록 조회 SELECT 필드목록 FROM 테이블 WHE..
Contents 1. Node.js 설치 해당 링크에서 Noje.js 설치 (https://nodejs.org/ko/download/) 다운로드 | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 2. expo cli 설치 npm install -g expo-cli 3. 프로젝트 생성 expo init {project_name} blank에서 엔터 -> Hello World 테스트 용이기 때문에 zero부터 시작하는 blank 선택. 4. expo 시작 1) expo에서 회원가입 하기 : https://expo.io/ Expo Expo is an open-source platform for..
주피터 노트북을 사용하다 보면, 비밀번호를 변경하거나, Nbextensions을 커스텀하여 사용하게 되는 경우가 있습니다. 이럴 때, 주피터 노트북의 환경파일들의 경로를 확인하는 방법을 알아보겠습니다. 1. jupyter 명령어 jupyter의 --paths 옵션을 사용하면 주피터 노트북이 참조하는 환경설정(config)파일들의 경로와 data파일의 경로들이 우선순위 순서로 출력됩니다. 각각 기능(config, data, runtime)별로 가장 위에 있는 경로에 들어가셔서 커스텀을 진행하면 됩니다. !jupyter --paths * 실행 결과 2. Jupyter 경로 저는 리눅스에서 주피터 노트북을 실행하고 있으므로, tree 명령어를 통해 cofig와 data 경로의 형태를 보겠습니다. 1) conf..
윈도우에서 주피터 노트북을 사용하다보면, 주피터 노트북이 시작될때 원하는 폴더에서 시작했으면 좋겠다고 불편을 많이 느꼈습니다. 오늘은 이 문제를 해결하는 방법을 소개하겠습니다. Contents 1. Jupyter notebook 또는 Anaconda Prompt를 실행 2. config 파일을 생성 명령어: jupyter notebook --generate-config --> 생성된 경로를 복사합니다. 1) jupyter notebook에서 생성 주피터 노트북에서 python을 실행하고, 셀에서 !jupyter notebook --generate-config를 실행합니다. 저는 생성위치가 C:\Users\user\.jupyter라고 나옵니다. 2) 1번이 안된다면, anaconda-prompt에서 생성 ..