본문 바로가기

전체 글7

Module에서 환경변수 사용하기 Nest.js에서 express에서 사용했던 것처럼 환경변수를 사용하고 싶다면, ConfigModule을 이용하는 방법이 권장된다. dotenv를 직접 사용할 수도 있지만, Nest는 dotenv를 래핑한 ConfigModule을 제공하기 때문이다. https://docs.nestjs.com/techniques/configuration TypeOrm 설정 파일에서 .env를 사용하고 있었기 때문에, 최상위 app.module.ts에서 아래와 같은 방식으로 ConfigModule을 가져온 뒤 전역으로 설정해두었다. Config 모듈을 이용해서 미리 .env를 삽입하면 하위 모듈에서는 .env 값에 모두 접근할 수 있기 때문이다. // app.module.ts import { Module } from '@n.. 2022. 10. 28.
파이썬 자료구조: 딕셔너리 Python에는 dict라는 class가 있습니다. dict는 해싱을 기반으로 데이터들을 관리해주는 자료구조로, (key, value) 쌍 형태로 값을 동시에 저장하는 형태입니다. 해싱을 기반으로 하고 있기 때문에, 삽입, 삭제, 탐색 등 모든 함수의 시간복잡도가 전부 O(1)입니다. 매우 빠른 성능을 보장하지만, 구조 특성상 들어온 값들간의 순서를 나타내주지 못합니다. (이 경우, OrderedDict 클래스를 사용하면 들어온 값들의 순서도 보장할 수 있습니다.) dict에서 키를 바탕으로 값을 가져올 수 있는 방법은 크게 두 가지입니다. dict의 get 메서드를 이용하는 방법과, # Syntax: dictionary.get(keyname, value) d = {1: "apple", 2: "banan.. 2022. 5. 22.
[2021 하반기] SSG.COM TECH[SW 개발] 면접 후기 (쓱닷컴 1차 면접/2차 면접/3차 면접 +코딩테스트) 작년 하반기에 지원했던 쓱닷컴 하반기 신입사원 공채 관련 포스팅이다. 지원 전 회사에 대해서 조사해보면서 느낀 건, 개발 조직은 계속 좋아지는 중이라는 의견이 많고, 투자도 엄청 하는 것 같은 느낌을 받았다. 나는 개발직군으로 지원했다. 채용 일정 정리 1. 서류 전형: 1.1. 서류: 2021. 10. 15(금) ~ 10. 28.(목) 18:00 1.2. 서류 전형 합격자 발표: 2021. 11. 26.(금) 2. 코딩테스트 전형: 2.1. 온라인 코딩테스트(프로그래머스): 11. 26.(금) ~ 11. 30.(화) 23:59 2.2. 해당 기간 중 23문제를 180분 동안 해결 (CS + 알고리즘) 2.3. 코딩테스트 합격자 발표: 12. 03.(금) 3. 면접 전형: 3.1. 1차 화상 면접: 12.. 2022. 4. 18.
[2021 하반기] 신한은행 디지털/ICT 면접 후기 (1차 / 최종 면접) 금융권의 경우, 많이 지원하진 않았었는데, 최종면접이나 1차 전형 (면접 / 코딩테스트 / AI역검) 관련 내용들이 도움이 될까 싶어 기록으로 남긴다. 신한은행 같은 경우 개발을 어느정도 하는 편이라고 들었고, 금융권이 아무래도 연봉이 높다고 알려져있어서 지원하게 되었다. 나는 뱅킹 서비스 개발 및 운영으로 지원했었다. 모집부문 관련해서 지인분께 들은건데, 개발을 가장 많이 하는 부서는 모바일 채널 서비스 개발 및 운영이라고 한다 (웹, 모바일 개발을 직접 한다고 들었음). 뱅킹 서비스 개발 같은 경우 코어 뱅킹에 해당하는 개발 업무를 수행한다. 채용 일정 정리 1. 서류 전형 1.1. 서류: 2021. 9. 7.(화) ~ 2021. 9. 23.(목) 18시까지 1.2. 서류 전형 합격자 발표: 10. .. 2022. 2. 4.
[BFS / DFS] 백준 2178번: 미로 탐색 (BOJ 2178) 풀이 import sys from collections import deque input = sys.stdin.readline n, m = map(int, input().split()) board = [] for _ in range(n): row = list(map(int, list(input().split()[0]))) board.append(row) def solution(n, m, board): visited = [[-1]*m for _ in range(n)] dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] q = deque() q.append((0, 0)) visited[0][0] += 1 while q: x, y = q.popleft() for dir in range(4): nx .. 2022. 2. 3.
[BFS / DFS] 백준 1926번: 그림 (BOJ 1926) 풀이 import sys from collections import deque # 입력 받기 input = sys.stdin.readline n, m = map(int, input().split()) board = [] for _ in range(n): board.append(list(map(int, input().split()))) visited = [[0]*m for _ in range(n)] # 방문체크 보드 count = 0 # 그림 갯수 dx = [-1, 0, 1, 0] # dx, dy => 북, 동, 남, 서 dy = [0, 1, 0, -1] area = 0 # n, m = 1, 1 board = [0]인 경우 고려해서, 미리 0 넣어두어야 함 for i in range(n): for j in ra.. 2022. 2. 2.
이것이 취업을 위한 코딩테스트다 7회차 - 이진 탐색 이진 탐색 정렬된 배열에서 탐색 범위를 반씩 줄여가면서 탐색하는 방법 순차 탐색 배열에서 데이터를 앞에서부터 순서대로 탐색하는 방법 # 실전 문제 2. 부품 찾기 N = int(input()) arr = list(map(int, input().split())) M = int(input()) target = list(map(int, input().split())) def binary_search(target: int): st, en = 0, N-1 while st target: en = mid - 1 else: # arr[mid] == target이면 존재 return True return False # st와 en이 엇갈리게 되면, 존재하지 않음 arr.sort() for item in target: i.. 2022. 2. 1.