HEADLINE
2024 예술적인 소프트웨어 프로젝트 : Project GK
2024 SWF 프로젝트 : Project RM
알고리즘 공부
[후기] BOJ C++, 200일의 에필로그
[후기] BOJ C++, 200일의 에필로그
알고리즘 공부
2026.05.28 15:14
군 생활을 하며 지난 200일동안 백준을 하루에 한 문제 이상씩 풀어왔다.백준이 서비스를 종료한 지금 생각해보면 어떻게 했지 싶다가도, 재미있게 풀었던 기억이 많아서 다시 하라면 다시 할 수 있을 것 같은 마음이 든다. 200일을 달려왔지만 얻은건 백준의 서비스 종료 소식이라서 아쉬운 마음이 있지만, 이것만 얻은 것은 아니다.긴 시간이라면 긴 시간동안 많은 것을 얻었다. 본격적으로 후기를 작성해보기 전에, 대체 그 200일동안 뭘 했는지 한번 끄적여보려고 한다. ※ 스트릭 기준은 solved.ac로 정했다.보직 특성상 밤샘도 있고, 불규칙적인 생활을 해서 00시에 초기화되는 스트릭에는 도저히 맞출 수가 없었다.그래서 06시에 초기화되는 solved.ac 스트릭이 나의 근무 시간이나 군 내 생활 패턴이랑 ..
[BOJ C++] 1113번 - 수영장 만들기
[BOJ C++] 1113번 - 수영장 만들기
알고리즘 공부
2026.03.18 13:03
백준 1113번 - 수영장 만들기문제더보기지민이는 수영장을 만들려고 한다. 수영장을 만들 곳의 크기는 N*M이고, 각 칸은 직육면체이다. 따라서, 각 칸의 직육면체의 높이가 쓰여 있는 다음과 같은 땅을 생각할 수 있다. 166616111616661이 수영장은 15만큼의 물이 들어있는 수영장을 만들 수 있다. 가운데 3개의 칸에 5만큼 물을 채우면 되기 때문이다. 자 이제 가운데 물을 더 추가했다고 생각하면, 벽(높이가 6인 직육면체)을 넘어서 밖으로 나갈 것이다. 물은 항상 높이가 더 낮은 곳으로만 흐르고, 직육면체 위의 표면에는 물이 없다. 그리고, 땅의 높이는 0이고, 땅은 물을 무한대로 흡수 할 수 있다. 땅의 모양이 주어질 때, 수영장에 물이 얼마만큼 있을 수 있는지 구하는 프로그램을 작성하시오...
[BOJ C++] 1202번 - 보석 도둑
[BOJ C++] 1202번 - 보석 도둑
알고리즘 공부
2026.03.18 12:19
백준 1202번 - 보석 도둑문제더보기세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다. 가방에는 최대 한 개의 보석만 넣을 수 있다. 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는 프로그램을 작성하시오.입력더보기첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci ≤ 100,000,000) 모든 숫자는 양의 정수이다.출력더보..
[BOJ C++] 2169번 - 로봇 조종하기
[BOJ C++] 2169번 - 로봇 조종하기
알고리즘 공부
2026.03.17 06:54
백준 2169번 - 로봇 조종하기문제더보기NASA에서는 화성 탐사를 위해 화성에 무선 조종 로봇을 보냈다. 실제 화성의 모습은 굉장히 복잡하지만, 로봇의 메모리가 얼마 안 되기 때문에 지형을 N×M 배열로 단순화 하여 생각하기로 한다. 지형의 고저차의 특성상, 로봇은 움직일 때 배열에서 왼쪽, 오른쪽, 아래쪽으로 이동할 수 있지만, 위쪽으로는 이동할 수 없다. 또한 한 번 탐사한 지역(배열에서 하나의 칸)은 탐사하지 않기로 한다. 각각의 지역은 탐사 가치가 있는데, 로봇을 배열의 왼쪽 위 (1, 1)에서 출발시켜 오른쪽 아래 (N, M)으로 보내려고 한다. 이때, 위의 조건을 만족하면서, 탐사한 지역들의 가치의 합이 최대가 되도록 하는 프로그램을 작성하시오.입력더보기첫째 줄에 N, M(1≤N, M≤1,0..
[BOJ C++] 1708번 - 볼록 껍질
[BOJ C++] 1708번 - 볼록 껍질
알고리즘 공부
2026.03.15 18:55
백준 1708번 - 볼록 껍질문제더보기다각형의 임의의 두 꼭짓점을 연결하는 선분이 항상 다각형 내부에 존재하는 다각형을 볼록 다각형이라고 한다. 아래 그림에서 (a)는 볼록 다각형이며, (b)는 볼록 다각형이 아니다.조금만 생각해 보면 다각형의 모든 내각이 180도 이하일 때 볼록 다각형이 된다는 것을 알 수 있다. 편의상 이 문제에서는 180도 미만인 경우만을 볼록 다각형으로 한정하도록 한다.2차원 평면에 N개의 점이 주어졌을 때, 이들 중 몇 개의 점을 골라 볼록 다각형을 만드는데, 나머지 모든 점을 내부에 포함하도록 할 수 있다. 이를 볼록 껍질 (CONVEX HULL) 이라 한다. 아래 그림은 N=10인 경우의 한 예이다.점의 집합이 주어졌을 때, 볼록 껍질을 이루는 점의 개수를 구하는 프로그램을..
[알고리즘] 볼록 껍질 (Convex Hull)
[알고리즘] 볼록 껍질 (Convex Hull)
알고리즘 공부
2026.03.15 18:46
알고리즘 분류 : [ 기하학 ]개념볼록 껍질 (Convex Hull) 은 2차원 평면 상에 여러 점에 대해, 나머지 점들을 모두 감싸는 제일 바깥점으로 만드는 볼록 다각형을 말한다.예를 한 번 들어보면,이런 점들이 있을 때, 이런 모든 점을 감싸는 볼록 다각형 (볼록 껍질) 을 찾는 것이다.이 상황만 보고 이 알고리즘의 구조를 간단히 생각해보면, 이렇게 생각할 수 있다.점들의 무리 중 가장 아래에 있는 것을 기준점으로 잡고그 기준점에서 점들이 있는 반대 방향으로 직선을 쏴서시계 또는 반시계방향으로 돌리다가그 직선과 처음 만나는 어느 한 점이 있을 것이다.그렇다면 그 점은 모든 점들 중에 가장 바깥에 있는 점일 것이다.이 작업을 만나는 바깥 점에 대해 모두 실행하면 볼록 껍질을 이루는 점들을 찾아낼 수 있..
[BOJ C++] 13144번 - List of Unique Numbers
[BOJ C++] 13144번 - List of Unique Numbers
알고리즘 공부
2026.03.09 12:06
백준 13144번 - List of Unique Numbers문제더보기길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라.입력더보기첫 번째 줄에는 수열의 길이 N이 주어진다. (1 ≤ N ≤ 100,000)두 번째 줄에는 수열을 나타내는 N개의 정수가 주어진다. 수열에 나타나는 수는 모두 1 이상 100,000 이하이다.출력더보기조건을 만족하는 경우의 수를 출력한다.문제 접근이 문제는 투 포인터를 이용해 접근했다. 처음에는 중복되는 수를 입력받으면 여태 입력받았던 것들을 모두 없애고 새로 경우의 수를 저장하는 로직으로 했는데, 문제가 있었다.1 2 3 1 2 같은 입력에서 1이 중복으로 입력되었지만, 2 ..
[BOJ C++] 22251번 - 빌런 호석
[BOJ C++] 22251번 - 빌런 호석
알고리즘 공부
2026.03.04 15:57
백준 22251번 - 빌런 호석문제더보기치르보기 빌딩은 1층부터 N층까지 이용이 가능한 엘리베이터가 있다. 엘리베이터의 층수를 보여주는 디스플레이에는 K 자리의 수가 보인다. 수는 0으로 시작할 수도 있다. 0부터 9까지의 각 숫자가 디스플레이에 보이는 방식은 아래와 같다. 각 숫자는 7개의 표시등 중의 일부에 불이 들어오면서 표현된다.예를 들어 K=4인 경우에 1680층과 501층은 아래와 같이 보인다.빌런 호석은 치르보기 빌딩의 엘리베이터 디스플레이의 LED 중에서 최소 1개, 최대 P개를 반전시킬 계획을 세우고 있다. 반전이란 켜진 부분은 끄고, 꺼진 부분은 켜는 것을 의미한다. 예를 들어 숫자 1을 2로 바꾸려면 총 5개의 LED를 반전시켜야 한다. 또한 반전 이후에 디스플레이에 올바른 수가 보여..
[BOJ C++] 2668번 - 숫자고르기
[BOJ C++] 2668번 - 숫자고르기
알고리즘 공부
2026.03.04 15:45
백준 2668번 - 숫자고르기문제더보기세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절히 뽑으면, 그 뽑힌 정수들이 이루는 집합과, 뽑힌 정수들의 바로 밑의 둘째 줄에 들어있는 정수들이 이루는 집합이 일치한다. 이러한 조건을 만족시키도록 정수들을 뽑되, 최대로 많이 뽑는 방법을 찾는 프로그램을 작성하시오. 예를 들어, N=7인 경우 아래와 같이 표가 주어졌다고 하자.이 경우에는 첫째 줄에서 1, 3, 5를 뽑는 것이 답이다. 첫째 줄의 1, 3, 5밑에는 각각 3, 1, 5가 있으며 두 집합은 일치한다. 이때 집합의 크기는 3이다. 만약 첫째 줄에서..
[BOJ C++] 2493번 - 탑
[BOJ C++] 2493번 - 탑
알고리즘 공부
2026.02.26 01:19
백준 2493번 - 탑문제더보기KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다. 실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고, 각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게 수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다. 하나의 탑에서 발사된 레이저 신호는 가장 먼저 만나는 단 하나의 탑에서만 수신이 가능하다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 개의 탑이 수평 직선에 일렬로 서 있고, 모든 탑에서는 주어진 탑 순서의 반대 방향(왼쪽 방향)으로 동시에 레이저 신호를 발사한..
싱글벙글 사이드 프로젝트
[2024-2 겜엔기] Project AS 개발일지 #4
[2024-2 겜엔기] Project AS 개발일지 #4
Side Project
2024.11.01 23:30
저번에는 플레이어의 기본 공격을 구현했었다.그래서 이번에는 플레이어의 스킬을 구현했다.스킬은 총 4가지가 있고, 그 중 일단 Q스킬 1가지만 중간 발표 전까지 구현하는 것이 목표였는데,과연 목표를 달성했을까?적 탐지설명하기에 앞서, Q스킬은 롤의 카이사 Q스킬 처럼 유도탄을 발사해 데미지를 입히는 것이다.그러려면, 자신 주위의 적들이 얼마나 있는지 일단 파악하여 그 적들을 변수든 리스트든 어떤 방식으로든 저장해야한다. 나는 가장 간단한 방법을 선택했다.플레이어에게 탐지 범위만큼의 트리거 형식의 콜리전을 주고, 거기에 들어오면 리스트에 넣었다가 다시 나가면 리스트에서 지워주는 것이다.그리고, 적을 저장하기 위해 액터 오브젝트 리스트 변수를 하나 만들어 거기에 저장과 삭제를 해줬다.여기에 새로 사용한 노드 ..
[2024-2 겜엔기] Project AS 개발일지 #3
[2024-2 겜엔기] Project AS 개발일지 #3
Side Project
2024.10.07 22:29
저번 개발때 플레이어 이동을 구현해서, 이번에는 플레이어 공격을 구현해보았다.단순하긴 해도 애니메이션을 직접 블루프린트 내에서 다루는 경험은 이번이 처음이라 조금 헤매기도 한 것 같다. 그럼 결과물은 어떨까?Hit ScanHit Scan(히트 스캔)이란, FPS에서 사용되는 공격 판정 방식이다.보통 총기류로 공격을 하면 현실에서는 투사체가 날아가면서 대상을 공격하지만, 게임에서는 연산 속도가 있기 때문에 현실만큼 빠른 속도를 적용한 투사체를 날리면 그 속도를 연산 속도가 못따라가서 판정이 잘 안되는 경우가 있다.이럴 때에는 투사체를 날리는 것 대신, 공격 명령이 들어오면 그 즉시 바라보는 대상에게 피격 판정을 내려버리는 시스템을 사용하는데, 이것이 히트 스캔이다.예를 들자면 오버워치의 위도우메이커, 캐서..
[2024-2 겜엔기] Project AS 개발일지 #2
[2024-2 겜엔기] Project AS 개발일지 #2
Side Project
2024.09.29 01:46
저번에 개발을 위한 모든 세팅을 끝내고, 이번에는 진짜 개발에 착수했다.이번에 목표로 한 것은 플레이어의 이동을 완벽히 하는 것이다. 목표를 과연 달성했을까?Aim OffsetFPS 장르이기에 에임 구현은 무엇보다도 필수이다. 그리고 투사체 구현은 나중이기 때문에, 일단 플레이어 캐릭터가 내가 마우스를 돌리는 시점을 보게 하는 것을 구현해야함을 느꼈다.구글에 정말 여러가지 검색을 한 끝에, 이러한 것을 Aim Offset이라고 부른다는것을 알게 되었다.Aim Offset을 정확히 설명하자면, '캐릭터의 상반신 움직임이 에임을 따라오게 하는 것' 이다.그래서, 에셋에서 기본 제공되는 걸 이용해서 에임을 따라오게끔 해줬다.일단 이 블루프린트는 에셋에서 주는 기본 애니메이션 BP이다. 근데, 그냥 실행하면 에..
[2024-2 겜엔기] Project AS 개발일지 #1
[2024-2 겜엔기] Project AS 개발일지 #1
Side Project
2024.09.29 00:02
2학년 2학기가 되면서 게임엔진기초 라는 수업을 듣게 되었다. 이 수업에서는 팀을 꾸려서 언리얼 엔진을 이용한 팀 프로젝트를 제작하는 것이 최종 과제이다.그래서, 2주차 수업 때 나를 포함해 5명으로 이루어진 팀을 배정받고 바로 기획 후에 개발에 들어갔다.지금은 개발이 조금이나마 된 상태이지만, 개발 전에도 할 이야기가 많아서 두번에 나눠서 쓰려고 한다.그리고, 이 프로젝트의 개발일지는 종강때가지 계속 써볼 것이다.그렇다면 시작~기획 완료우선, 팀원중에 언리얼에 친숙한 사람이 없어서 기획의 볼륨은 작게 가져가고자 했다. 조금만 크게 가져가도 구현에 어려움을 배로 겪을 것이 눈에 훤했다.그래서 구현할 것들이 얼마 없고, 제일 몰입감있게 플레이할 수 있는 FPS 전투 형식을 채용했다.상세 장르는 수업시간에 ..
[Side Project] Project KS 개발일지
[Side Project] Project KS 개발일지
Side Project
2024.09.09 22:09
전에 만들었던 Project RM을 만들래에서 주최한 10분콘에 냈었는데, 사실 또 하나 더 냈다..이 프로젝트가 10분콘을 노리고 만든 게임이고, 일주일만에 엄청난 성과를 이뤄낸 플젝이기도 했다.다른 프로젝트를 같이하고있는 선배와 동기들로 구성된 4명 팀이었고, 여기에서 나는 기획, 서브 개발, 아트, 사운드의 역할로써 참여했다. (또 다함) (그 선배는 바로 건호형)게임 기획또 같이 프로젝트를 하는 선배에게는 꿈이 하나 있었다... 바로 네크로맨서가 주인공인 게임을 만드는 것이다.그래서 초기 기획을 할 때 여러 컨셉들과 함께 네크로맨서가 주인공인 기획을 하나 만들어두었다.그리고 기획을 선배에게 주자마자 빛의 속도로 네크로맨서 기획이 선정되었다. ㅋㅋㅋㅋ 이제 그 기획을 간단히 설명하자면, 네크로맨싱 ..
완전 기초 그래픽스
[유니티] 실시간 그래픽스 / 비주얼 연출 #2 - 셰이더 만들기 (1)
[유니티] 실시간 그래픽스 / 비주얼 연출 #2 - 셰이더 만들기 (1)
이제 직접 셰이더를 만들어 볼 차례이다.그 전에, 짚고 넘어갈 것이 있다.Lit / UnlitURP 셰이더에는 크게 Lit, Unlit이 있다.간단하게 말하면 Lit은 광원에 영향을 받는 것이고, Unlit은 받지 않는 것이다.그래서 주로 Lit 셰이더는 빛에 반응하는 재질이나 물 같은 것들을 만들 때 사용하고, Unlit은 평면적인 스타일을 만들 때 사용한다. 이제 만들어보자.무작정 따라해보기 1 : 색 입히기간단하게 색을 입혀보자.Lit 셰이더 그래프를 하나 만들고, 이름은 아무렇게나 정한다.셰이더 그래프 작업이제 메인 색을 정하기 위해서, 블랙보드에 Main Color라는 이름의 Color 형 변수를 하나 만들어준다.이 변수가 만들고싶은 색을 결정하는 변수가 될 것이다.이제 이 변수의 초기값을 설정..
[유니티] 실시간 그래픽스 / 비주얼 연출 #1 - 셰이더
[유니티] 실시간 그래픽스 / 비주얼 연출 #1 - 셰이더
유니티에는 오브젝트가 움직이고 상호작용하는 것 뿐만 아니라, 사물이 어떻게 보일지도 결정할 수 있다.그리고 이것이 게임의 분위기나 독창적인 특징을 결정하기도 한다. 이를 이용해 사람 눈에 보이는 화면을 구성하는 데에는 요소가 엄청 많지만, 하나씩 차근차근 알아가 보려고 한다.이번 글은 그 중 셰이더(Shader)에 관한 것이다.셰이더(Shader)란? 셰이더(Shader)는 '물체를 화면에 어떻게 그릴지 알려주는 규칙'이다.모양을 바꾸거나, 표면의 모습을 계산해서 그 결과로 다시 표면을 만들거나, 보이거나 보이지 않을 부분을 지정하는 등의 작업을 셰이더가 담당한다. 긴 말 안하고, 바로 만들어보면서 이해해보자.무작정 만들어보기 전에 : 어떻게 만들어요?일단 Unity 6을 사용한다. 상세 버전은 크게 상..
전체 글
[유니티] 실시간 그래픽스 / 비주얼 연출 #2 - 셰이더 만들기 (1)
실시간 그래픽스 | 렌더링2026.09.23 12:11[유니티] 실시간 그래픽스 / 비주얼 연출 #2 - 셰이더 만들기 (1)

이제 직접 셰이더를 만들어 볼 차례이다.그 전에, 짚고 넘어갈 것이 있다.Lit / UnlitURP 셰이더에는 크게 Lit, Unlit이 있다.간단하게 말하면 Lit은 광원에 영향을 받는 것이고, Unlit은 받지 않는 것이다.그래서 주로 Lit 셰이더는 빛에 반응하는 재질이나 물 같은 것들을 만들 때 사용하고, Unlit은 평면적인 스타일을 만들 때 사용한다. 이제 만들어보자.무작정 따라해보기 1 : 색 입히기간단하게 색을 입혀보자.Lit 셰이더 그래프를 하나 만들고, 이름은 아무렇게나 정한다.셰이더 그래프 작업이제 메인 색을 정하기 위해서, 블랙보드에 Main Color라는 이름의 Color 형 변수를 하나 만들어준다.이 변수가 만들고싶은 색을 결정하는 변수가 될 것이다.이제 이 변수의 초기값을 설정..

[유니티] 실시간 그래픽스 / 비주얼 연출 #1 - 셰이더
실시간 그래픽스 | 렌더링2026.09.22 17:26[유니티] 실시간 그래픽스 / 비주얼 연출 #1 - 셰이더

유니티에는 오브젝트가 움직이고 상호작용하는 것 뿐만 아니라, 사물이 어떻게 보일지도 결정할 수 있다.그리고 이것이 게임의 분위기나 독창적인 특징을 결정하기도 한다. 이를 이용해 사람 눈에 보이는 화면을 구성하는 데에는 요소가 엄청 많지만, 하나씩 차근차근 알아가 보려고 한다.이번 글은 그 중 셰이더(Shader)에 관한 것이다.셰이더(Shader)란? 셰이더(Shader)는 '물체를 화면에 어떻게 그릴지 알려주는 규칙'이다.모양을 바꾸거나, 표면의 모습을 계산해서 그 결과로 다시 표면을 만들거나, 보이거나 보이지 않을 부분을 지정하는 등의 작업을 셰이더가 담당한다. 긴 말 안하고, 바로 만들어보면서 이해해보자.무작정 만들어보기 전에 : 어떻게 만들어요?일단 Unity 6을 사용한다. 상세 버전은 크게 상..

[후기] BOJ C++, 200일의 에필로그
알고리즘 공부2026.05.28 15:14[후기] BOJ C++, 200일의 에필로그

군 생활을 하며 지난 200일동안 백준을 하루에 한 문제 이상씩 풀어왔다.백준이 서비스를 종료한 지금 생각해보면 어떻게 했지 싶다가도, 재미있게 풀었던 기억이 많아서 다시 하라면 다시 할 수 있을 것 같은 마음이 든다. 200일을 달려왔지만 얻은건 백준의 서비스 종료 소식이라서 아쉬운 마음이 있지만, 이것만 얻은 것은 아니다.긴 시간이라면 긴 시간동안 많은 것을 얻었다. 본격적으로 후기를 작성해보기 전에, 대체 그 200일동안 뭘 했는지 한번 끄적여보려고 한다. ※ 스트릭 기준은 solved.ac로 정했다.보직 특성상 밤샘도 있고, 불규칙적인 생활을 해서 00시에 초기화되는 스트릭에는 도저히 맞출 수가 없었다.그래서 06시에 초기화되는 solved.ac 스트릭이 나의 근무 시간이나 군 내 생활 패턴이랑 ..

[BOJ C++] 1113번 - 수영장 만들기
알고리즘 공부2026.03.18 13:03[BOJ C++] 1113번 - 수영장 만들기

백준 1113번 - 수영장 만들기문제더보기지민이는 수영장을 만들려고 한다. 수영장을 만들 곳의 크기는 N*M이고, 각 칸은 직육면체이다. 따라서, 각 칸의 직육면체의 높이가 쓰여 있는 다음과 같은 땅을 생각할 수 있다. 166616111616661이 수영장은 15만큼의 물이 들어있는 수영장을 만들 수 있다. 가운데 3개의 칸에 5만큼 물을 채우면 되기 때문이다. 자 이제 가운데 물을 더 추가했다고 생각하면, 벽(높이가 6인 직육면체)을 넘어서 밖으로 나갈 것이다. 물은 항상 높이가 더 낮은 곳으로만 흐르고, 직육면체 위의 표면에는 물이 없다. 그리고, 땅의 높이는 0이고, 땅은 물을 무한대로 흡수 할 수 있다. 땅의 모양이 주어질 때, 수영장에 물이 얼마만큼 있을 수 있는지 구하는 프로그램을 작성하시오...

[BOJ C++] 1202번 - 보석 도둑
알고리즘 공부2026.03.18 12:19[BOJ C++] 1202번 - 보석 도둑

백준 1202번 - 보석 도둑문제더보기세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다. 가방에는 최대 한 개의 보석만 넣을 수 있다. 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는 프로그램을 작성하시오.입력더보기첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci ≤ 100,000,000) 모든 숫자는 양의 정수이다.출력더보..

반응형
image