본문 바로가기

728x90
반응형

전체 글

(163)
[Python] 백준 12738번 문제, 가장 긴 증가하는 부분 수열 3 https://www.acmicpc.net/problem/12738 12738번: 가장 긴 증가하는 부분 수열 3 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,000,000,000) www.acmicpc.net 가장 긴 증가하는 부분 수열 시리즈 중 세번째 문제이며, 주어진 수열에서 가장 긴 증가하는 부분을 구하는 것인데 입력의 크기가 1 ≤ N ≤ 1,000,000 이기 때문에 기존의 풀이법인 동적 프로그래밍(Dynamic Programming)을 사용한다면 n^2의 시간 복잡도를 가지기 때문에 시간 초가로 실패한다. 따라서 DP 알고리즘이 아닌 최장 증가 부분 수열(LI..
[Python] 백준 14002번 문제, 가장 긴 증가하는 부분 수열 4 https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 수열이 주어졌을 때 가장 긴 증가하는 부분 수열을 구하는 문제이며, 시리즈 중 4번째 문제이다. 전과 달라진 점은 둘째 줄에 부분 수열을 출력해야 하며, 첫째 줄은 기존과 마찬가지로 부분 수열의 길이를 출력하면 된다. 동적 프로그래밍으로 풀이 가능하기 때문에 dp를 선언 한 다음에 A의 순서대로 2차원 배열 arr를..
[Python] 백준 2467번 문제, 용액 https://www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 문제 해결 방법은 산성 용액과 알칼리성 용액을 보유하고 있는데 두 가지 용액을 혼합해 0에 가까운 용액을 만드는 것이다. (산성-산성, 알칼리성-알칼리성 혼합 가능) (용액 리스트는 오름차순으로 정렬 되어 있음) 그래서 이분 탐색을 이용해 합이 0에 가까운 두 개의 수를 구하는 것이 목적이다. 두 가지 용액을 혼합한 값을 min_num에 저장하고 result은 두 용액의 특성값을 저장하는 리..
[Python] 백준 1806번 문제, 부분합 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 문제 해결 방법은 길이가 N인 수열에서 부분합이 S가 넘거나 같은 부분의 최소 길이를 구하는 것이다. 투 포인트로 풀면 되기 때문에 양 끝 쪽에서 시작해 부분합들을 비교해가며 right - left의 결과로 부분합의 길이를 구하면 된다. # 1: 시작(0)부터 내(i)가 있는 곳의 부분합 # 2: 변수들 초기화, answer는 최대 1,000,000이기 때문에 1,000,001로 초..
[Python] 멀쩡한 사각형 - Summer/Winter Coding(2019) https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 위 그림에서 멀쩡한 사각형을 구하기 위해서는 대각선으로 깔끔하게 잘리는 사각형을 찾아야 한다. 그러기 위해서는 최대 공약수를 구해 w와 h를 나누면 split_w, split_h가 구해지며 위 그림에는 최대 공약수 4로 나누어 2와 3이 구해진다. (2와 3으로 봤을 때 대각선으로 깔끔하게 잘리는 사각형 구하기 가능) 그런 다음 멀쩡한..
[Python] 오픈채팅방 - 2019 KAKAO BLIND RECRUITMENT https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr record에 Enter, Leave, Change가 수행된 문자열이 담겨져 있어 해당 문자열에 따라 출력해야 하는 문구를 result로 내보낸다. Change를 수행 할 경우 해당 id에 따른 전에 기록에서 닉네임이 바뀌어야 하기 때문에 문구를 바로 출력하면 문제가 있다. 그래서 배열에서 연산을 전부 수행한 다음에 result를 내보내면 된다. def solu..
[논문 리뷰] FaPN: Feature-Aligned Pyramid Network for Dense Image Prediction 논문 정보 논문에서는 단순성을 위해 Feature Alignment 문제를 개선?해결?하지 않고 그대로 사용하는 걸 문제점으로 삼았다. 그래서 misalignment가 발생하는데 이를 해결하고자 Feature Alignment Module을 제한해 offset을 학습해 문제점을 개선했다. 실제로 베이스라인이 되는 Feature Pyramid Network(FPN)보다 좋은 성능을 보여줬으며 ADE20K 데이터셋에 대해 56.7% mIOU로 SOTA를 달성했다. 리뷰 [그림 1]과 같이 FPN 같은 경우에는 Feature Misalignment 문제가 있어 경계선을 확대해서 봤을 때 모호하게 Segmentation 된 걸 볼 수 있지만, FaPN 같은 경우에는 FPN 보다 경계선에 있어서 제대로 Segme..
[논문 리뷰] Residual Attention Network for Image Classification 논문 정보 이 논문은 자연어 처리에서 만들어진 Attention 알고리즘을 CNN에 도입해 강한 특징을 살리고 약한 특징은 없애버리면서 이미지 분류에서 좋은 성능을 보여줬다. 리뷰 Attention 알고리즘은 그림 1과 같으며 feature map에다가 attention output을 더해서 특징이 강한 부분을 더욱 강조한다. 그래서 실제로 열기구가 있는 사진을 넣었을 때 low-level에서는 특징 범위가 큰 sky에 대해 attention 되었고 high-level로 갈수록 detail 한 object가 attention 된다. Attention Network는 CIFAR 데이터셋에서 기존 SOTA 모델보다 연산량도 적으면서 더 적은 에러율을 보여줬으며 ImageNet 데이터셋 대해서도 낮은 val ..

728x90
반응형