전체 글 6

현대자동차 H-모빌리티 클래스 2024 상반기 자율주행 합격 후기

컴퓨터공학과에서 자율주행을 배우기는 생각보다 어렵다. 개설된 수업도 제한적이고 대학원이 아니면 접하기조차 쉽지 않은 분야이다. 이런 분야를 현대자동차에서 직접 교육을 시켜준다는 소식을 듣고 바로 지원했다. 요즘 같은 취업 불황 시대에 역대급으로 많은 사람들이 지원했으리라 생각한다. 기존에는 결과 발표에 2주 정도 소요됐는데, 이번 기수는 거의 40일이 걸렸다. 설 연휴를 고려하더라도 2배 넘는 시간이다. 내부 사정이 있을 수도 있겠지만 얼마나 많은 사람들이 지원했는지 유추해볼 수 있다. 지원양식은 여느 채용 과정과 크게 다르지 않다. 현대 계열에서 종종 볼 수 있는 수강한 전공 교과목 5개를 작성해야한다. 다만 자기소개서 항목이 단 200자밖에 되지 않는다. 3000자씩 쓰는 것도 힘든 일이지만, 내 의..

BOJ 1759 암호 만들기

알고리즘 분류 : 수학, 브루트포스 알고리즘, 조합론, 백트래킹 전형적인 백트래킹문제이다. 모든 경우의 수에 대해서 탐색하되 조건이 맞을 경우에만 출력하면 된다. 입력으로 주어진 알파벳들을 오름차순으로 정렬하고 맨 앞부터 하나씩 골라서 길이가 l인 암호가 만들어졌을 때, 모음이 한 개 이상이고, 자음이 2개 이상이라면 출력한다. 재귀식으로 탐색하는 법이 코드짜기가 편하다. #include #include #include #include using namespace std; int l, c; char a; vector v, st; set vw = { 'a', 'e', 'i', 'o', 'u' }; void dfs(int x, int vowel) { if (st.size() == l) { if (vowel ..

컴퓨터공학/PS 2023.07.13

BOJ 15086 Craters

알고리즘 분류 : 기하학, 볼록 껍질 이전에 풀었던 22819, 3970과 거의 흡사한 문제이다. 차이점은 수의 범위와 N의 크기 정도이다. 완벽하게 동일한 크레이터가 나오는 경우에 대한 예외처리만 해주었다. 구조체 vector에 대한 unique 함수 사용법을 몰라 x, y, r 순으로 정렬한 후 완벽하게 같은 경우에 체크해주고 다른 경우에 대조군을 변경해주는 방식으로 해결했다. circle c = v[0]; for (int i = 1; i < n; i++) { if (c.x == v[i].x && c.y == v[i].y && c.r == v[i].r) { notsurrounded[i] = 1; } else c = v[i]; } 나머지 풀이방식은 22819에 더 자세히 설명되어있다. BOJ 22819..

컴퓨터공학/PS 2023.07.10

BOJ 3970 안전 구역

알고리즘 분류 : 기하학, 볼록 껍질 이전에 풀었던 Enclosing Circles와 거의 유사한 문제이다. 겹치거나 접하는 원이 없기때문에 더 쉽다. 하지만 소숫점 오차 때문에 외접선이 수직으로 그어지는 경우에 대해서 다음과 같이 예외처리를 반드시 해줘야 한다. if(abs(a-b) < 0.00000000000001) return 0; 이하 모든 방법론은 밑에 문제와 동일하다. BOJ 22819 Enclosing Circles 알고리즘 분류 : 수학, 기하학, 볼록 껍질, 분할 정복 입력으로 원들의 중심좌표와 반지름이 주어질 때 모든 원들을 감싸는 끈의 최소 길이를 구해야 한다. (원과 원 사이는 직선으로 감싸야 한다 offlinequery.tistory.com

컴퓨터공학/PS 2023.07.10

BOJ 22819 Enclosing Circles

알고리즘 분류 : 수학, 기하학, 볼록 껍질, 분할 정복 입력으로 원들의 중심좌표와 반지름이 주어질 때 모든 원들을 감싸는 끈의 최소 길이를 구해야 한다. (원과 원 사이는 직선으로 감싸야 한다) 일반적인 컨벡스 헐 알고리즘은 점들을 이어 볼록 다각형을 만들지만 해당 문제는 원이라서 크기에 따라서 재방문 가능하기 때문에 그래프로 접근했다. 하나의 케이스에 최대 100개의 원이 주어지기 때문에 모든 원들에 대해 서로 다른 원과의 접선의 기울기를 구해도 시간내에 연산이 가능하다. 각각의 원에 대해서 다른 모든 원과의 외접선의 기울기를 알고 있다면 직전에 선택된 접선과 반시계 방향이면서 각의 차이가 가장 작은 외접선을 찾으면 된다. 첫번째 원부터 외접선의 기울기가 가장 작은 원을 찾아 위 과정을 반복한다. 이..

컴퓨터공학/PS 2023.07.10