분류 전체보기

알고리즘/백준(BOJ)

[백준/파이썬] 12100번 2048

https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 2048게임을 구현하는 문제이다. 실제 2048과 다른 점은, 움직일 때 새로운 블럭이 생성되지 않는다는 점이고 이동횟수가 5번으로 제한되어있다는 것이다. 전체적인 구성은 기본적인 dfs방식을 이용한 백트래킹+브루트포스와 동일하다. 다만 상,하,좌,우 이동 시 블럭들을 처리하는 것이 조금 까다롭다. 키포인트는 다음과 같다. 1. 합쳐지는 방향대로 각 열 또는 행들을 배..

AI 논문 공부

Deformable Convolutional Network (DCN) 논문 리뷰

목차 0. Abstract 1. Introduction 2. Deformable Convolution 3. Deformable ROI pooling 4. Performance 0. Abstract •기존 CNN 방식의 문제 = 필터의 크기가 고정 •고정 방식이 문제인 이유? sliding window 방식으로 convolution을 진행할 때 이미지의 특징과 상관없이 동일한 연산 수행 => 해당 논문에선 입력 이미지의 특성에 따라 필터의 모양이 유기적으로 변형 •아이디어? offset을 학습하여 적용 = flexible한 layer = filter size 를 학습하여 object 크기에 맞게 변화하도록 하는 것 1. Introduction 어떤 한 이미지 뿐만 아니라 회전한 이미지, 반전된 이미지 등 ..

알고리즘/프로그래머스

[프로그래머스/python] Level 1 : 크기가 작은 부분 문자열

https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력의 최대 크기가 작아 N^2의 시간 복잡도를 이용해서 풀 수 있지 않을까 고민하다가, 분명 더 쉬운 방법이 있을 것 같은데..? 고민하던 중 팍 떠올랐다! 우선, Index out of range를 방지해주기 위해 p-1까지만 돌려준다. 그리고 만약 p가 3자릿수라면, 3개씩 잘라 배열에 담아준다. (이때 굳이 배열에 담지 않고 바로 비교해도 된다) 그리고 배열에 있는 걸 하나씩 꺼내 p와 ..

알고리즘/백준(BOJ)

[백준/파이썬] 13904번 과제

https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 점수가 큰 과제를 많이 먹어야하는데, 마감 기간을 잘 고려해서 스켸쥴을 짜면 된다. 우선 점수가 큰 순으로 정렬한 뒤, 이제 스켸쥴 표를 하나씩 채워나가면 된다. 해당 위치에 이미 값이 있으면 (= 그날 할 과제, 즉 계획이 있으면) 앞으로 날짜를 당기면서 빈 곳에 계획을 채워넣는다. 결국, 1 ~ m일차까지의 스켸쥴 표를 작성한다고 생각하면 쉽다! (여기서 m은 과제 마감일 중 제일 큰 값, 코드에서 cnt값) import sys sys...

알고리즘/백준(BOJ)

[백준/파이썬] 2225번 합분해

https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 중복조합 또는 dp로 해결가능한 문제인데, dp로 풀어보았다. 우선, k가 1일 경우엔 n으로 어떤 수가 와도 경우의 수는 1이다. 그러나 n이 1일 경우, 경우의 수는 k값을 따라간다. dp 테이블 k = 1 k = 2 k = 3 n = 1 1 2 3 n = 2 1 3 n = 3 1 n = 4 1 n = 5 1 이제 위 dp 테이블을 채워나가면 된다. n=2이고 k=2일 때 가능한 경우는 0+2, 2+0, 1+1 총 3가지 이다. 이는 (2,1)의 경우인 2와 (1,2)의 경우인 0+1, 1+0를 합한 것이라고 볼 수 있..

알고리즘/프로그래머스

[프로그래머스/python] Level 2 : 택배 배달과 수거하기

https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그리디 문제이다. 예제 풀이를 따라 코드를 작성하면, 아마 시간초과가 발생할 것이다. n이 최대 100,000까지므로 n^2의 시간복잡도로는 문제를 풀 수 없다. 우선, 한번에 최대한 멀리가서 멀리 있는 곳들의 작업을 먼저 끝내야지 이동횟수를 최소한으로 만들 수 있으므로 입력받은 배열들을 역순으로 뒤집어준다. 가장 먼 곳부터 탐색을 시작하는데, 배달해야 하거나 픽업해와야 할 것들이 하나라도 있으..

beomseok99
'분류 전체보기' 카테고리의 글 목록 (14 Page)