개발 이야기/알고리즘 및 코테 준비
-
[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): 우선 최대한 깊이 내려..
-
[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)이다.점심 시간에는 많은 사람들이 식당을 드나든다. 사번..
-
[Softeer][21년 재직자 예선] 회의실 예약개발 이야기/알고리즘 및 코테 준비 2024. 9. 9. 19:44
문제https://softeer.ai/practice/6266 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai회사에는 N개의 회의실이 있다. 수많은 팀이 모여 토론하고 업무를 처리하기 위해서는 회의실이 필수적이다.내부망에 아주 간단한 회의실 예약 시스템이 있지만 편의성이 매우 떨어진다. 단순히 예약된 회의의 목록만 표시되기 때문에, 방 별로 비어 있는 시간이 언제인지를 확인하기가 힘든 것이다. 당신은 이를 직접 해결해 보기로 마음 먹었다.회의실 이용 규칙은 다음과 같다:- 회의실은 9시부터 18시까지만 사용 가능하다. 모든 회의의 시간은 이 안에 완전히 포함되어야 한다.- 회의는 정확히 한 회의실을 연속한 일정 시간 동안만 점유한다. 즉 각 회의는 (회의실, 시작 시각, 종료 시각)..
-
[Softeer][21년 재직자 대회 예선] 전광판 문제개발 이야기/알고리즘 및 코테 준비 2024. 9. 4. 22:07
문제 전광판은 최대 다섯 자리의 자연수만을 표시할 수 있도록, 아래와 같이 육각형 모양의 전구 7×5=35개로 구성되어 있다.각각의 전구에는 스위치가 달려 있다. 전구에 달려 있는 스위치를 누를 때, 그 전구가 켜져 있었다면 꺼지고, 그 전구가 꺼져 있었다면 켜진다. 지금 전광판에 자연수 A가 표시되어 있는데, 유가가 변동됨에 따라 전광판에 표시된 자연수를 B로 바꿔야 한다. 이러한 목표를 달성하기 위해 스위치를 최소 몇 번 눌러야 하는지를 구하는 프로그램을 작성하라. 제약조건하나의 입력에서 1개 이상 1000개 이하의 테스트 케이스를 해결해야 한다.A와 B는 한 자리 이상 다섯 자리 이하의 자연수이다.A와 B는 숫자 0으로 시작하지 않는다.A와 B는 서로 다르다.입력형식첫 번째 줄에 해결할 테스트 케이..
-
[Softeer][21년 재직자 대회 예선] 비밀메뉴개발 이야기/알고리즘 및 코테 준비 2024. 9. 4. 11:13
문제 회사 식당에는 전설처럼 전해 내려오는 비밀 메뉴에 대한 소문이 있다.소문의 내용은 대강 이러하다.식권 자판기의 버튼을 특정 순서대로 누르고 결제를 하면, 평소와는 다른 색깔의 식권이 나온다. 이 식권을 배식대에 제출하면, 어떤 비밀 메뉴를 받을 수 있다는 것이다.물론 이를 실제로 본 사람은 아무도 없어서, 어떤 메뉴가 나오는지는 커녕 눌러야 하는 버튼의 순서조차 알려져 있지 않다.주방장인 당신은 이 소문의 실체를 알고 있다. 이는 분명한 사실이다!정해진 버튼 조작법을 사용하면 비밀 메뉴의 식권을 얻을 수 있다. 그러나 얼마 전 식권 자판기가 고장으로 교체되면서,새 자판기에서는 비밀 메뉴 조작법이 작동하지 않게 되었다.당신은 프로그래밍 실력을 살려, 사용자의 버튼 조작 중 비밀 메뉴 조작법이 포함되어..
-
[알고리즘 실습환경 구축] 알고리즘 튜토리얼 및 개요개발 이야기/알고리즘 및 코테 준비 2024. 9. 3. 19:47
오랜만에 글을 다시 작성..!했습니다 여름간에는 잠시 랩인턴을 하느냐고 관련 주제로 논문들을 읽고 정리했었는데 학기 중에는 전공수업들을 공부하면서 얻게된 지식 + 새롭게 알게된 내용들을 위주로 작성해보려고 합니다. 이번학기를 막학기로 졸업을 준비하기 위해 여러 밀렸던 강의들을 몰아서 듣게 되었는데..! 그 중 알고리즘 강의 + 알고리즘 문제풀이 실습 강의가 같이 있어서 관련하여 풀었던 문제와 가능하면 관련 개념도 정리하려고 합니다. 실습 과제 문제는 https://softeer.ai/ 에서 제공된 박희진 교수님의 컴퓨터소프트웨어캡스톤PBL 를 기반으로 작성되었습니다. 코드는 python 혹은 C로 작성하려고 합니다. 추가적으로아래의 링크를 통해 간단히 C 코드를 확인하고 실행해볼 수 있습니다. - D..