[programmers] 단어 변환 (python)
·
Study/algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr최단 시간을 구해야 하기 때문에 BFS를 사용해서 풀이하였다.많이 어렵진 않은 문제from collections import deque# 두 단어 사이 다른 글자 개수 확인def check(word1, word2): cnt = 0 for i in range(len(word1)): if word1[i] != word2[i]: cnt += 1 return cn..
[programmers] 부대복귀 (python)
·
Study/algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/132266 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr처음에는 BFS로 매 source마다 desination까지의 거리를 측정하였다.위의 방식을 사용하면 테스트 케이스 11~15에서 시간초과가 발생하였다.어떻게 해결할지 몰라서 방법을 찾아봤는데 destination을 기준으로 서치를 진행하여 각 위치까지의 거리를 측정하면 되는 문제였다.이마를 탁 치게 된 풀이였다.. 거꾸로 생각해보기# 시간 초과 실패 코드from collections import d..
[programmers] 양과 늑대 (python)
·
Study/algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krbfs와 graph를 사용하려다가 틀린 문제dfs를 통해 최대 양의 갯수를 구하면 되었다.이때 자식 노드를 마지막엔 방문 처리를 False로 해주어 나중에 다시 그 자식 노드를 방문할 수 있게 하는 것이 중요했다.def solution(info, edges): answer = [] visited = [False] * len(info) def dfs(sheeps, wolve..
[programmers] 요격 시스템 (python)
·
Study/algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr규칙만 잘 생각하면 되는 문제정렬 시 시작 기준이 아닌 끝나는 기준으로 먼저 정렬해야 한다는 점을 파악하지 못했었다def solution(targets): answer = 0 # 1. 끝나는 좌표 기준 2. 시작 좌표 기준 순으로 정렬 targets = sorted(targets, key=lambda x: [x[1], x[0]]) e = 0 # 각 미사일마다 ..
[programmers] PCCP 기출문제 3번 / 아날로그 시계 (python)
·
Study/algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/250135시간을 초로 바꿔서 각도 계산으로 겹침을 판단한다는 방향은 맞췄지만하지만 360도가 되면 0으로 바꿔버리게 되어 겹침을 판단 못하는 문제를 발견하지 못해 시간이 좀 걸렸다.def solution(h1, m1, s1, h2, m2, s2): answer = 0 # 초로 모두 환산 start_time = h1 * 60 * 60 + m1 * 60 + s1 end_time = h2 * 60 * 60 + m2 * 60 + s2 # 시작 지점에 겹쳐있는 경우 카운트 if start_time == 0 or start_time == 12 * 3600: ..
[programmers] PCCP 기출문제 2번 / 석유 시추 (python)
·
Study/algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr정확성과 효율성 두 가지를 따지는 문제bfs를 한번 돌려서 연결된 석유들을 모두 찾고 저장해둬서 다음번에는 다시 탐색 하지 않도록 하는것이 중요했다.from collections import dequedef solution(land): answer = 0 n, m = len(land), len(land[0]) dx = [-1, 1, 0, 0] dy = [0, 0, -1, ..
[논문 리뷰] PETRv2: A Unified Framework for 3D Perception from Multi-Camera Images (Arxiv, 2022)
·
Paper review/3D Object detection
나의 정리 논문이 지적한 문제점 기존의 PETR에서 생성하던 3D Position Embedding은 data-independent 합니다. 또한 시간 축에 대한 정보도 사용하고 있지 않습니다. 보다 정확한 3D object detection을 위해서 Temporal modeling과 3D position Embedding을 구하는 방식을 개선합니다. 해결 방안 3D PE를 생성할 때 2D image feature로 guidance를 주어 생성합니다. 또한 Temporal modeling을 위해서 이전 frame의 3D coordinate을 현재 frame의 3D coordinate으로 맞춰주기 위해 pose transformation을 통해 temporal alignment를 진행합니다. 또한 mult..
[논문 리뷰] PETR: Position Embedding Transformation for Multi-View 3D Object Detection (ECCV, 2022)
·
Paper review/3D Object detection
나의 정리 논문이 지적한 문제점 기존 transformer에서 사용되던 Position Embedding은 image의 2D space 상에 대한 position information을 encoding 하는 것입니다. 하지만 우린 3D space 상의 feature를 생성하기 때문에 2D position information을 feature에 encoding하는 것은 큰 도움이 되지 못합니다. 또한 기존의 DETR3D는 object query에 해당하는 reference point position을 예측하고 해당 위치의 2D feature를 sampling 하는데 예측한 reference point position이 정확하지 않을 수 있습니다. 해결 방안 PETR은 2D feature map에 3D sp..