[C++] 백준 2467 - 용액

2023. 8. 29. 17:28·알고리즘 문제풀이/백준
목차
  1. <문제 링크>
  2. <알고리즘 분류>
  3. <풀이> 
  4. <코드>
반응형

<문제 링크>

https://www.acmicpc.net/problem/2467

 

11053번: 가장 긴 증가하는 부분 수열

수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이

www.acmicpc.net

<알고리즘 분류>

   - 투 포인터(Two Pointer)

   - 이분 탐색(Binary Search)

 

<풀이> 

   간단한 투 포인터 문제로 보인다. 과정은 이러하다. 

     (1) 용액 배열의 양 끝을 초깃값으로 잡은 뒤, 서로 다가오면서(투포인터) 두 개의 합이 0에 가장 가까울 경우 저장해준다.

     (2) 두 개의 합이 0 보다 작을 경우, 조금 더 0보다 가까운 경우가 있는지 알아보기 위해 left++를 해준다. 

     (3) 두 개의 합이 0보다 클 경우, 조금 더 0보다 가까운 경우가 있는지 알아보기 위해 right--를 해준다.

 

<코드>

#include <iostream>
#include <vector> 
#include <algorithm>
using namespace std;

int N;
long long liquid[100001];

int main()
{
    cin >> N;
    for (int i = 0; i < N; i++)
    {
        cin >> liquid[i];
    }

    int l = 0;
    int r = N - 1;
    int min_r, min_l;
    int result = liquid[r] + liquid[l];
    while (r > l)
    {
        if (abs(result) >= abs(liquid[l] + liquid[r]))
        {
            result = liquid[r] + liquid[l];
            min_r = r;
            min_l = l;
        }

        if (liquid[l] + liquid[r] < 0)
            l++;
        else
            r--;
    }

    cout << liquid[min_l] << " " << liquid[min_r] << "\n";
    return 0;
}

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[C++] 백준 2143 - 두 배열의 합  (2) 2023.09.03
[C++] 백준 12015 - 가장 긴 증가하는 부분 수열 2  (1) 2023.08.28
[C++] 백준 1253 - 좋다  (2) 2023.08.28
[C++] 백준 2110 - 공유기 설치  (0) 2023.08.28
[C++] 백준 1450 - 냅색문제  (1) 2023.08.26
  1. <문제 링크>
  2. <알고리즘 분류>
  3. <풀이> 
  4. <코드>
'알고리즘 문제풀이/백준' 카테고리의 다른 글
  • [C++] 백준 2143 - 두 배열의 합
  • [C++] 백준 12015 - 가장 긴 증가하는 부분 수열 2
  • [C++] 백준 1253 - 좋다
  • [C++] 백준 2110 - 공유기 설치
jiminai
jiminai
안녕하세요, 고려대학교 컴퓨터학과 학부생의 컴퓨터 공부 기록입니다👻
    반응형
  • jiminai
    컴퓨터 공부 Blog
    jiminai
  • 전체
    오늘
    어제
    • 분류 전체보기 (32)
      • AI Paper Review (9)
        • MLLMs (4)
        • Reinforcement Learning (2)
        • NLP (3)
      • 알고리즘 문제풀이 (18)
        • 백준 (17)
        • 프로그래머스 (1)
        • 알고리즘 이론 공부 (0)
      • AI 개념 정리 (2)
        • Pytorch 공부 (1)
      • Web Development (1)
      • 대외활동&프로젝트&대회 (2)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 프로필
    • Github
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    냅색문제
    11000
    백준
    HACKUTHON 2023
    2056
    2467
    dfs
    다이나믹프로그래밍
    Dikjstra
    DP
    가장긴증가하는부분수열
    누적합
    이분탐색
    개발
    BFS
    fasttext
    13975
    두 배열의 합
    벡준
    투포인터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jiminai
[C++] 백준 2467 - 용액
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.