개발 이야기
-
[TIL][Conda] conda 환경세팅 yml개발 이야기/TIL 2024. 9. 30. 16:36
python에서 requirement 파일을 이용하여 pip package를 인스톨하는 과정과 유사한 방법으로최근 과제에서 yml 파일로 환경세팅을 추천하여서 글을 작성하였다. github에도 conda 환경에서 사용가능한 yml 파일을 함께 배포해주는 경우가 많이 있어서 yml 파일을 이용하여 가상환경을 생성하고 관련 패키지를 설치해주는 과정을 알아보고자 한다. 아래와 같이 env.yml 파일이 존재한다면name: HW1channels: - defaults - anacondadependencies: - jupyter - matplotlib - numpy - python=3.7 - scikit-learn - gensim 다음 명령어로 가상환경을 세팅해보자. conda env create ..
-
[Softeer][21년 재직자 대회예선] 이미지 프로세싱개발 이야기/알고리즘 및 코테 준비 2024. 9. 23. 16:46
문제https://softeer.ai/practice/6265 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai자율주행 자동차를 구현하는 데에 있어서 이미지 프로세싱은 아주 중요한 요소이다. 카메라를 통해 들어온 차량 전후의 모습을 파악해 차량 근처에 있는 장애물들을 빠른 속도로 파악하고, 이를 다른 센서로부터 들어온 데이터와 함께 분석해 차량에게 올바른 명령을 내려야 하기 때문이다. 이 문제에서는 간단한 이미지 프로세싱을 하고자 한다. H×W 크기의 2차원 비트맵 이미지가 있다. 이 이미지는 H×W개의 픽셀들로 구성되어 있으며, 위에서부터 i (1 ≤ i ≤ H)번째에 있고 왼쪽에서부터 j (1 ≤ j ≤ W)번째에 있는 픽셀은 (i, j)로 표기할 수 있다. 각 픽셀에는 색상이 붙..
-
[알고리즘][개념] Selection sort, Insertion Sort, Merge Sort, Quick sort개발 이야기/알고리즘 및 코테 준비 2024. 9. 18. 22:10
정렬 알고리즘은 사실 실제로는 코테 때 나는 아직 사용해본적은 없지만 수업 1주차 때 관련 내용이 나오기도 했고, 간단히 코드와 원리, 시간복잡도에 관해 이야기해보려고 한다. 기본적으로 이 글에서는 오름차순으로 정렬된 배열이 정렬 되어있다고 할 것이다. https://hsp1116.tistory.com/33 을 참고하여 작성하였습니다.Selection Sort(선택 정렬)선택 정열은 이름 그대로 배열을 처음부터 끝까지 훑으면서 가장 작은 (또는 큰) 값을 선택하여 맨 앞자리 (또는 뒷자리)로 옮기는 방식이다. 시간 복잡도: O(n^2) (최선, 평균, 최악 모두)장점: 구현이 매우 간단합니다.단점: 시간 복잡도가 높아 큰 데이터셋에는 비효율적입니다. def selection_sort(arr): ..
-
[알고리즘][개념] DFS(깊이 우선 탐색) & BFS(너비 우선 탐색)개발 이야기/알고리즘 및 코테 준비 2024. 9. 18. 15:28
https://devuna.tistory.com/32, 튜나 개발일기를 참고하였습니다. 여러 자료구조 중 그래프를 탐색하는 방법에는 크게 깊이 우선 탐색, DFS와 너비 우선 탐색인 BFS가 존재한다. 여기서 말하는 그래프란 node와 edge로 구성된 자료구조를 말한다. 이 중 방향성이 있는 비순환 그래프를 트리라고 말한다. 이런 그래프를 탐색한다는 의미는 하나의 정점으로부터 시작하여 차례대로 모든 정점을 하나씩 방문하는 것을 의미한다. 코테 문제 중 일부는 이런 search 기법을 잘 구현해야하기에 DFS와 BFS의 개념을 알아보고 python으로 주어진 그래프를 간단히 탐색해보는 예제코드를 작성해보려고 한다. 깊이 우선 탐색(DFS, Depth-First Search): 우선 최대한 깊이 내려..
-
[DBMS] DataModeling - ER model 중심으로개발 이야기/DB(데이터베이스) 2024. 9. 16. 22:10
본 내용은 한양대학교 차재혁 교수님의 데이터베이스시스템및응용 수업(11710)과 Rebro의 코딩일기장의https://rebro.kr/143과 https://basic-theory.tistory.com/6 https://victorydntmd.tistory.com/126 내용을 참고하여 작성하였습니다. Steps in DB Design 아래 흐름에 맞추어서 DB design은 이루어진다. Requirements Analysis •user needs; what must database do?Conceptual Design •high level description (often done w/ER model) •Object Relational Mappings (ORMs: Hiberna..
-
[DBMS] 데이터베이스 Overview개발 이야기/DB(데이터베이스) 2024. 9. 10. 21:01
본 내용은 한양대학교 차재혁 교수님의 데이터베이스시스템및응용 수업(11710)과 Rebro의 코딩일기장의https://rebro.kr/143 내용을 참고하여 작성하였습니다. DBMS Database Management system 이란? 데이터베이스는 매우 큰 통합된 데이터의 모음이다. Database Management system은 이런 Database를 저장하고 유지하기 위한 소프트웨어 패키지이다(정의, 생성, 질의, 업데이트, 관리)Files vs DBMS왜 DBMS가 필요한가? Application이 사용하는 File 시스템과 DB 시스템을 비교하면 아래와 같다. 1. Application must stage large datasets between main memory and secondar..
-
[Python][자료구조] 2차원 배열 선언개발 이야기/Python 2024. 9. 9. 21:53
https://blog.sysbot32.com/entry/Python-2%EC%B0%A8%EC%9B%90-%EB%B0%B0%EC%97%B4-%EC%84%A0%EC%96%B8%ED%95%98%EA%B8%B0 [Python] 2차원 배열 선언하기※ 2021년 12월 19일에 작성된 글입니다.Python에서의 1차원 배열 선언Python에서 1차원 배열을 선언할 때는 다음과 같이 * 연산자를 이용해 간단하게 선언할 수 있다.rows = 10arr = [0] * rows[0, 0, 0, 0, 0, 0, 0blog.sysbot32.com 문제를 풀다보면 2차원 배열을 선언해야 할 일이 종종 있는데, 아이디어 자체는 어렵지 않다. 중요한건 [[]]에서 첫번째가 행을 결정한다는 것이다. 저번에 한번 아래와 같이 [..
-
[Softeer][21년 재직자 대회 예선] 좌석관리개발 이야기/알고리즘 및 코테 준비 2024. 9. 9. 20:24
Level 3가 되더니 확실히 난이도가 올라갔다. 푸는데 생각보다 많은 시간이 소요된 문제였다.다만 몇몇 아이디어들은 계속해서 사용되는 형식이라 중요한 문제이다.(상하좌우 확인)문제 https://softeer.ai/practice/6267 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai현대자동차그룹에서 사내 식당 매니저로 일하는 기항이는 점심 시간에 맞춰 일을 하고 있다. 오늘 일은 사람들이 사회적 거리두기를 잘 지키면서 식당 좌석에 앉도록 상황을 관리하는 일이다.현재 식당에는 좌석 N×M개가 N행 M열로 나열되어 있는데, 각 좌석에는 (1,1)에서 (N,M)로 좌표가 배정되어 있다. x행 y열에 있는 좌석의 좌표는 (x,y)이다.점심 시간에는 많은 사람들이 식당을 드나든다. 사번..