[softeer] [21년 재직자 대회 본선] 트럭 (python)
·
Study/algorithm
https://softeer.ai/practice/info.do?idx=1&eid=631&sw_prbl_sbms_sn=82669 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 회고 처음엔 돈 범위만큼 배열을 만들어 각각의 이익을 얻으려면 필요한 size를 모두 넣어서 구하려고 했다. 지금 생각해보면 매우 무식한 방법이고 시간 초과가 뻔했다. 인터넷 검색을 좀 해봐서 각각의 buyer가 제시한 사이즈에 맞는 금액과 시나리오를 정렬을 하면 가장 사이즈부터 시나리오에 부합하는지 찾기 때문에 더 빠르게 답을 찾을 수 있었다. 만약 해당 buyer가 이전에 이미 지불한 금액이 있었다면 그 금액과 비교해서 더 큰 금액일 시 바꿔주는 부분도 필요했다. 그리고 처음 정렬을 해..
[논문 리뷰] SECOND: Sparsely Embedded Convolutional Detection (2018)
·
Paper review/3D Object detection
나의 정리 논문이 지적한 문제점: 기존의 Voxel 기반의 3D object detection인 VoxelNet에서 sparse 한 data인 LiDAR data에 convolution을 적용하다 보니 계산량이 많아 느린 단점과 orientation의 예측 성능이 낮은 문제점이 존재합니다. 해결 방안: Sparse한 data의 특성에 맞춰서 기존의 dense convolution이 아닌 sparse convolution을 이용하고 fast rule generation을 통하여 더 빠른 학습과 추론이 가능하게 하였습니다. 또한 기존의 angle regression loss 문제점을 지적하고 novel angle regression loss와 direction classifier를 통하여 orientatio..
[softeer] [21년 재직자 대회 예선] 회의실 예약 (python)
·
Study/algorithm
https://softeer.ai/practice/info.do?idx=1&eid=626 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 회고 각 회의실마다 각 시간별로 스케줄을 만들어서 예약이 될 때마다 그 시간엔 예약이 되었다고 입력해준다. busy를 사용해서 회의실이 이미 예약 되었는지 체크를 한다. import sys n, m = map(int, sys.stdin.readline().split()) room = {sys.stdin.readline().strip(): [False] * 10 for _ in range(n)} for _ in range(m): r, s, e = sys.stdin.readline().split() s, e = int(s) - 9,..
[Linux] ubuntu GPU 사용량 확인
·
Programming/Linux
watch -d -n 0.5 nvidia-smi 각 process 마다 할당된 GPU 용량을 확인할 수 있습니다. 이 전까진 그때 그때 nvidia-smi를 쳐서 GPU 온도를 확인하곤 했는데, 위 코드를 사용하면 자동으로 갱신이 되어서 모니터링하기 좋습니다.
[softeer] [21년 재직자 대회 예선] 이미지 프로세싱 (python)
·
Study/algorithm
https://softeer.ai/practice/info.do?idx=1&eid=627 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 회고 image의 크기가 크지 않아서 입력을 받을 때마다 bfs를 통해서 색깔을 모두 바꿔주었다. 하지만 계속 히든 케이스에서 시간 초과가 나서 좀 찾아봤더니 만약 x, y, c를 입력받았는데 (x, y)의 색깔이 c와 같다면 무한 loop를 돌게 되어서 시간 초과가 나는 것이었다. 간단하게 시작 지점에서 해당 좌표의 색이 바꾸려는 색과 같은지 조건문 하나만 넣어 간단하게 해결하였다. import sys from collections import deque dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] h,..
[programmers] 합승 택시 요금 (python)
·
Study/algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 회고 다익스트라 알고리즘이 익숙지 않아서 개념 공부를 하고 푼 문제 다익스트라 알고리즘을 공부하고도 바로 풀지는 못했다. 문제를 작은 문제로 나눠서 풀었다. S와의 최단거리, A와의 최단 거리, B와의 최단 거리를 가지는 한 point를 찾아서 그때의 비용을 답으로 구한다. 총 세 가지 다익스트라 distance를 구했다. (S, A, B) import heapq def solution(n,..
[softeer] [인증평가(1차) 기출] 로봇이 지나간 경로 (python)
·
Study/algorithm
https://softeer.ai/practice/info.do?idx=1&eid=577 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 회고 시작할 수 있는 point의 특징은 본인은 #이고 주변에 하나의 #만을 가지는 point를 먼저 찾았다. 총 두 개의 point가 찾아지는데 하나는 start 나머지는 end point로 설정하고 경로를 탐색한다. 가장 오래 고민했던 부분은 바라보는 방향을 돌릴 때 왼쪽, 오른쪽 어느 방향으로 돌려야 최적의 방법인지 결정하는 부분이었다. 처음에는 그냥 조건문으로 처리하려고 했는데 코드가 너무 길어질 것 같아서 softeer algo tutor를 참고해서 index를 이용해서 풀었다. -1을 해서 같은 방향이면 왼쪽으로, +..
[softeer] [인증평가(1차) 기출] 안전운전을 도와줄 차세대 지능형 교통시스템 (python)
·
Study/algorithm
https://softeer.ai/practice/info.do?idx=1&eid=580 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제 회고 bfs를 이용해서 경로를 찾아주면 된다. 하나 신경 쓸 부분은 해당 교차로에 오는 방향에 따라 다음 교차로로 갈 수 있냐 없냐가 정해진다는 점이다. 처음에는 당연하게 check list를 만들어서 방문한 교차로는 다시 방문하지 않도록 하였는데 계속해도 틀려서 조금 검색을 해보았더니 방문한 교차로도 돌고 돌면서 최종적으로 갈 수 있는 교차로를 모두 구하는 문제였다. 문제를 잘 이해하는 것이 중요할 것 같다. 변수 이름 짓기도 너무 어렵다... import sys from collections import deque n, t ..