[백준] / [Python] / [1205] 등수 구하기
·
Coding Test/백준
https://www.acmicpc.net/problem/1205문제태수가 즐겨하는 디제이맥스 게임은 각각의 노래마다 랭킹 리스트가 있다. 이것은 매번 게임할 때 마다 얻는 점수가 비오름차순으로 저장되어 있는 것이다.이 랭킹 리스트의 등수는 보통 위에서부터 몇 번째 있는 점수인지로 결정한다. 하지만, 같은 점수가 있을 때는 그러한 점수의 등수 중에 가장 작은 등수가 된다.예를 들어 랭킹 리스트가 100, 90, 90, 80일 때 각각의 등수는 1, 2, 2, 4등이 된다랭킹 리스트에 올라 갈 수 있는 점수의 개수 P가 주어진다. 그리고 리스트에 있는 점수 N개가 비오름차순으로 주어지고, 태수의 새로운 점수가 주어진다. 이때, 태수의 새로운 점수가 랭킹 리스트에서 몇 등 하는지 구하는 프로그램을 작성하시오..
[백준] / [Python ] / [9017] 크로스 컨트리
·
Coding Test/백준
https://www.acmicpc.net/problem/9017문제크로스 컨트리 달리기는 주자들이 자연적인 야외의 지형에 만들어진 코스를 달리는 운동 경기이다. 경주 코스는 일반적으로 4에서 12 킬로미터이며, 숲이나 넓은 땅을 통과하는 풀과 흙으로 된 지면과 언덕과 평평한 지형을 포함한다. 이 경기는 주자들의 개인성적을 매기고, 이를 가지고 팀의 점수를 계산한다. 한 팀은 여섯 명의 선수로 구성되며, 팀 점수는 상위 네 명의 주자의 점수를 합하여 계산한다. 점수는 자격을 갖춘 팀의 주자들에게만 주어지며, 결승점을 통과한 순서대로 점수를 받는다. 이 점수를 더하여 가장 낮은 점수를 얻는 팀이 우승을 하게 된다. 여섯 명의 주자가 참가하지 못한 팀은 점수 계산에서 제외된다. 동점의 경우에는 다섯 번째 주..
[EfficientNet] Rethinking Model Scaling for Convolutional Neural Networks
·
Paper Review
EfficientNetAbstract이 논문에서는 네트워크의 깊이(Depth), 너비(Width), 이미지의 해상도(Resolution)을 "균형있게" 조절(Scaling)하면 성능이 향상된다는 것을 파악했습니다.깊이, 너비, 해상도를 compound coefficient를 사용하여 균일하게 확장하는 새로운 스케일링 방법을 제시하였고, 이를 사용하여 훨씬 적은 파라미터로 뛰어난 정확도와 효율성을 달성하였습니다. Introduction기존의 Convolution Network들은 일반적으로 깊이, 너비, 이미지의 해상도 중 하나만 스케일링하여 성능을 개선했습니다.논문의 저자는 네트워크의 너비, 깊이, 이미지의 해상도를 균형있게 일정한 비율로 조정한다면 높은 성능을 낼 수 있다는 것을 파악했습니다. 따라서,..
[SENet] Squeeze and Excitation Networks
·
Paper Review
SENet기존의 네트워크들은 깊이(Depth)를 늘리거나 층(Layer)의 관계를 수정하여 성능을 끌어올리는 방법을 생각했습니다.SENet은 채널 간의 상호작용(Channel Relationship)에 초점을 맞추어 성능을 끌어올린 모델입니다. 즉, 채널 간의 특징을 파악하고 채널 사이의 상호 종속 특징들을 명시적으로 모델링하면서 그에 맞게 재조정하는 과정을 거칩니다.이를 위해 새로운 형태의 Architecture Unit인 SE Block을 이 논문에서 소개합니다.SE BlockSE Block은 Squeeze와 Excitation으로 크게 2단계를 거쳐 채널 간의 상호작용을 고려하게 됩니다.Squeeze는 "짜내다"라는 뜻으로 많은 양의 정보를 압축하는 의미가 있으며, 논문에서는 Global Infor..
[MobileNet] Efficient Convolutional Neural Networks for Mobile Vision Applications
·
Paper Review
MobileNetMobileNet은 경량화에 집중하였습니다. 그 이유는 핸드폰이나 임베디드 시스템 같이 저용량 메모리환경에서 딥러닝을 사용하기 위해서입니다. MobileNet의 경량화 비결을 알기 위해선 Depthwise Separable Convolusion의 이해가 필요합니다.ArchitectureDepthwise Separable ConvolutionDepthwise Separable Convolution은 위 그림과 같이 Depthwise Convolution과 Pointwise Convolution의 두 개의 별도 단계로 분리하여 계산 효율성을 크게 향상시키는 기법입니다.Standard Convolution$$ D_K \cdot D_K \cdot M \cdot M \cdot D_F \cdot D..
[백준] / [Python] / [2607] 비슷한 단어
·
Coding Test/백준
https://www.acmicpc.net/problem/2607문제영문 알파벳 대문자로 이루어진 두 단어가 다음의 두 가지 조건을 만족하면 같은 구성을 갖는다고 말한다.두 개의 단어가 같은 종류의 문자로 이루어져 있다.같은 문자는 같은 개수 만큼 있다.예를 들어 "DOG"와 "GOD"은 둘 다 'D', 'G', 'O' 세 종류의 문자로 이루어져 있으며 양쪽 모두 'D', 'G', 'O' 가 하나씩 있으므로 이 둘은 같은 구성을 갖는다. 하지만 "GOD"과 "GOOD"의 경우 "GOD"에는 'O'가 하나, "GOOD"에는 'O'가 두 개 있으므로 이 둘은 다른 구성을 갖는다.두 단어가 같은 구성을 갖는 경우, 또는 한 단어에서 한 문자를 더하거나, 빼거나, 하나의 문자를 다른 문자로 바꾸어 나머지 한 단..
[백준] / [Python] / [20922] 겹치는 건 싫어
·
Coding Test/백준
https://www.acmicpc.net/problem/20922문제홍대병에 걸린 도현이는 겹치는 것을 매우 싫어한다. 특히 수열에서 같은 원소가 여러 개 들어 있는 수열을 싫어한다. 도현이를 위해 같은 원소가 𝐾개 이하로 들어 있는 최장 연속 부분 수열의 길이를 구하려고 한다. 100000 이하의 양의 정수로 이루어진 길이가 𝑁인 수열이 주어진다.  이 수열에서 같은 정수를 𝐾개 이하로 포함한 최장 연속 부분 수열의 길이를 구하는 프로그램을 작성해보자.입력첫째 줄에 정수 𝑁 (1≤𝑁≤200000)과 𝐾$K$ (1≤𝐾≤100)가 주어진다.둘째 줄에는 𝑎1,𝑎2,...𝑎𝑛이 주어진다 (1≤𝑎𝑖≤100000)출력조건을 만족하는 최장 연속 부분 수열의 길이를 출력한다.투 포인터를 활용..
[백준] / [Python] / [14502] 연구소
·
Coding Test/백준
https://www.acmicpc.net/problem/14502문제인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다.연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울 수 있는 벽의 개수는 3개이며, 꼭 3개를 세워야 한다.예를 들어, 아래와 같이 연구소가 생긴 경우를 살펴보자.2 0 0 0 1 1 00 0 1 0 1 2 00 1 1 0 1 0..
욱근욱
개미는 오늘도 열심히 일을하네