본문 바로가기

분류 전체보기73

[Django] 코딩 일기(1) 22.06.27~22.07.01 월 : 멋사 백엔드 비대면 코드라이언 Django ~17강까지 강의를 들으며 강의 내용을 실습했다. 강의를 듣고 강의 내용을 Notion에 정리하면서 백엔드 친구들이 할 미니프로젝트를 만들었다. 이후의 시간엔 백엔드 친구들의 오류 질답을 받았다. 밤 10시~12시까진 백엔드 비대면 세션을 진행하면서 줌 원격 기능을 통해 친구들이 실습하다가 에러가 난 부분들을 수정해주었다. 줌 원격 기능.. 아주 유용하다.. 화 : 아이디어톤 회의 오늘 근로는 5시 출근이었는데, 확실히 .. 난 밖에 있어야 무언갈 하는 것 같다. 집에 있으니 아무것도 안해.. 근로에선 18강~23강까지 코드라이언 장고를 수강했다. 오늘 수강 내용은 내용은 로그인/로그아웃 기능, 댓글 기능 구현이었다. 근로.. 2022. 7. 2.
[ 프로그래머스 / 2019 KAKAO BLIND RECRUITMENT / Python] 오픈채팅방 문제 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 채팅방에 들어오고 나가거나, 닉네임을 변경한 기록이 담긴 문자열 배열 record가 매개변수로 주어질 때, 모든 기록이 처리된 후, 최종적으로 방을 개설한 사람이 보게 되는 메시지를 문자열 배열 형태로 return 하도록 solution 함수를 완성하라. 풀이 코드 def solution(record): answer = [] dic = {} states =.. 2022. 3. 24.
데이터베이스(2) KEY 학번 전공 이름 전화번호 학년 주소 1 전자 신짱구 010 3 부산 2 전기 김철수 011 2 경기 3 컴퓨터 이훈이 016 4 서울 기본키 (Primary Key) : 후보키 중에서 기본적으로 사용하기 위해 선택하는 키 ex) 학번(or 전화번호) - Null 값은 허용하지 않는다 - 구분할 수 있는 고유값을 가져야 한다. - 최대한 적은 수의 속성을 가진 것 이어야 한다. - 릴레이션 스키마를 표현할 때 밑줄을 그어 표현한다 ex)학생(학번,전공,이름,전화번호,학년,주소) 후보키 (Candidate Key) : 유일성과 최소성을 만족하는 속성의 최소 집합 ex) 학번, 전화번호 슈퍼키 (Super Key) : 유일성을 만족하는 속성(속성들의 집합) ex) 학번, 전화번호, 학번+이름, 학번+전.. 2022. 3. 21.
데이터베이스(1) DBMS? - 조직에서 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함 - 사용자가 DB에 접근하여 검색 저장 하기 위한 중간역할 담당 DBMS는 파일시스템의 데이터 일관성과 데이터 무결성 문제로 등장하였다. DBMS의 장단점은 다음과 같다. DBMS 장점 - 중복 최소화 - 독립성 확보 - 데이터 동시 공유 - 데이터 보안 향상 - 무결성 유지 - 표준화 가능 - 장애 발생 시 회복 가능 - 응용 프로그램 개발 비용 down DBMS단점 - 중앙 집중 관리로 인한 취약점이 존재 - 백업 및 회복 방법 복잡 DB사용자 - DB 관리자 : DDL, DCL * db 구성요소 선정 및 스키마 정의, 물리적 저장 구조와 접근 방법 결정, 무결성 유지 위한 제약조건 정의, 백업 및 회복 기법 정의, 보안 .. 2022. 3. 21.
[ 프로그래머스 / 2021 KAKAO BLIND RECRUITMENT / Python ] 메뉴 리뉴얼 문제 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 각 손님들이 주문한 단품메뉴들이 문자열 형식으로 담긴 배열 orders, "스카피"가 추가하고 싶어하는 코스요리를 구성하는 단품메뉴들의 갯수가 담긴 배열 course가 매개변수로 주어질 때, "스카피"가 새로 추가하게 될 코스요리의 메뉴 구성을 문자열 형태로 배열에 담아 return 하도록 solution 함수를 완성해 주세요. [제한사항] orders 배열.. 2022. 3. 20.
[SQL / postgreSQL] 고급 SQL명령 ( TimeStamp, TO_CHAR, 서브쿼리(Sub-query), Self-Join) Timestamp TIME - time DATE - date TIMESTAMP - date, time TIMESTAMPTZ- date, time, timezone TIMEZONE -표준시간지역 https://www.postgresql.org/docs/12/sql-show.html NOW - 현재 TIMEOFDAY - 시계시각 CURRENT_TIME - 현재 시간 CURRENT_DATE - 현재 날짜 EXTRACT() - 추출함수 : 값의 서브 컴포넌트를 추출하되 년,월,일,분기별로 추출 가능하다. EXTRACT(YEAR FROM date_col) AGE() - 타임스탬프 내에서 현재까지의 시기를 계산해서 알려준다. AGE(date_col) TO_CHAR() - 원하는 형태의 날짜, 시간 출력 가능 (첫 .. 2022. 3. 8.
[ 프로그래머스 / 2021 KAKAO BLIND RECRUITMENT / Python ] 신규 아이디 추천 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/72410?language=python3 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문제 풀이 from collections import deque def first_second(new_id_lst): temp = [] symbol = ['.','_','-'] i = 0 while new_id_lst: word = new_id_lst.popleft() if word.isalpha(): temp.a.. 2022. 3. 7.
[SQL / postgreSQL] SQL 기초 (AS, UNION, JOIN - INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN) AS SELECT 열 이름 AS 별칭 FROM 테이블 열이나 결과에 별칭을 부여하는 함수이다. 별칭은 제일 마지막에 할당되기 때문에 WHERE연산자나 GROUP BY 호출 같은 것에서는 별칭을 사용할 수 없다. 원래의 열 이름을 사용해야 한다. JOIN? 여러 테이블을 하나로 결합하는 함수이다. INNER JOIN 두 테이블을 모두 충족하는 레코드 세트를 결과로 출력한다. 테이블1 ID_1 이름 1 신짱구 2 김철수 3 이훈이 테이블2 ID_2 이름 1 한유리 2 맹구 3 신짱구 INNER JOIN은 두 테이블 모두에 속해있는 행만 조회한다. 집합의 교집합이라고 생각하면 편하다. 두 테이블에서 매칭되는 지점은 신짱구이다. 특정 열을기준으로 두 테이블을 결합해야 하는데, 위 사례에선 '이름'이 되겠다. 이.. 2022. 2. 24.
[ 프로그래머스 / 2021 Dev-Matching: 웹 백엔드 개발자(상반기) / Python ] 행렬 테두리 회전하기 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/77485 풀이 코드 def find_min_num(graph, top, left, bottom, right): top_left = graph[top][left] min_num = top_left for y in range(top, bottom): graph[y][left] = graph[y+1][left] min_num = min(min_num, graph[y][left]) for x in range(left, right): graph[bottom][x] = graph[bottom][x+1] min_num = min(min_num, graph[bottom][x]) for y in range(bottom.. 2022. 2. 21.