[JAVA] BOJ 2467 용액

2024. 2. 20. 20:46·problem solving/백준

🔗 문제

2467번: 용액

 

2467번: 용액

첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 -

www.acmicpc.net

 

✏️ 풀이

문제에서 보아야 할 것은 이미 용액이 "정렬된 상태 "인 것이다.

더 해야 할 용액도 2개다 싶어서 투포인터를 떠올렸다.

  1. 양 끝을 start, end라는 변수로 가리키며 그 합을 sum에 저장해 주었다.
    • 이때 값은 오름차순 정렬이므로 start는 가장 작은 값(0 위치), end는 가장 큰 값 (N-1 위치)을 가리킨다.
  2. 만약 sum이 0이라면 더 이상 진행할 필요가 없다.
  3. 만약 sum < 0 이라면 작은 값을 가리키는 start를 증가시켜 sum이 0에 더 가깝게 해 준다.
  4. 만약 sum > 0이라면 큰 값을 가리키는 end를 감소시켜 sum이 0에 더 가깝게 해 준다.

 

이 과정을 start < end라는 조건하에 while문을 돌려주었다.

해당 조건으로 start와 end가 상대적으로 작은 값, 큰 값 포인팅을 유지하며 종료할 수 있게 된다.'

 

 

💾  소스

  • 코드 보기 : 백준 BOJ 제출 링크
저작자표시 비영리 변경금지 (새창열림)
'problem solving/백준' 카테고리의 다른 글
  • [JAVA] 백준 15683번: 감시
  • [JAVA] 백준 2636번: 치즈
  • [C++] 백준 21609번: 상어 중학교
  • [C++] 백준 23290번: 마법사 상어와 복제
u1qns
u1qns
http://github.com/u1qns
  • u1qns
    개발 블로그
    u1qns
  • 전체
    오늘
    어제
    • 분류 전체보기 (173)
      • 회고 (1)
      • programming (17)
        • 개념 정리 (6)
        • CI CD (1)
        • 트러블 슈팅 (0)
        • 환경설정 및 팁 (7)
      • problem solving (155)
        • 개념 정리 (3)
        • 백준 (129)
        • SWEA (15)
        • 프로그래머스 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    구현
    백준
    SWEA
    투포인터
    미해결
    그리디
    삼성청년SW아카데미
    완전탐색
    SSAFY
    boj
    HELLOSSAFY
    DFS
    C++
    cmath
    POW
    BFS
    SSAFY수료식
    DP
    되추적
    cpp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
u1qns
[JAVA] BOJ 2467 용액
상단으로

티스토리툴바