목록- (95)
olrlobt
🔒 골드5 - #1461 도서관 📌 테스트케이스 추가 힌트 5 2 1 2 3 4 5 = 13 5 2 -45 -26 -18 -9 -4 = 89 5 3 -45 -26 -18 -9 -4 = 63 ✍️ 풀이법 해당 문제는, 문제를 이해하기와 테스트케이스가 풀어지는 과정을 구하는 것이 다소 어려웠다. 당연히 2개씩 책을 들고 간다면, 끝부터 차례로 2개씩 놓으면 된다고 생각을 했는데 답이 도출되지 않았고, 중간에 책을 놓고 가는 경우를 생각 해보니 답이 도출되었지만, 식을 세우기 어려웠다. 따라서 다시 답이 도출되는 과정을 생각해 보고 문제를 해결하였다. 내가 생각한 답이 도출되는 과정은 한 칸씩 전진하는 방법이다. 한칸씩 움직이면서, 해당 방향에 있는 모든 책들을 옮기는 방식으로 진행하면된다. 위의 테스트케이스..
https://www.acmicpc.net/problem/13164 🔒 골드5 - #13164 행복 유치원 📌 테스트케이스 추가 힌트 4 2 1 4 5 6 = 2 ✍️ 풀이법 한 조에서, 가장 큰 사람과 가장 작은 사람의 차이는 각 조원의 키의 차이의 합과 같다. 예로, 위의 예시를 보면 조는 1 / 4, 5, 6 두 개로 나누어지고 두번째 조에서 비용은 (4와 5의 차이) + (5와 6의 차이) 와 같다. 따라서 조를 나눌때는, 키 차이가 가장 큰 순으로 조를 나누어야 한다. 위 예시에서는 조를 2개로 나누었으므로, 조원 사이의 거리중 가장 큰 값을 한 개만큼 (= K-1) 지운다. 풀이방법: 1. 다음 사람과의 키 차이를 구한다. 2. 키 차이에서 큰 값부터 K-1 번째까지를 모두 제외하고 모두 더한..
국비교육 최종 프로젝트에서 WebRTC를 활용한 실시간 방송 역할을 맡았었다. 포스팅을 하면서 WebRTC에 대해 복습해 보려고 한다. * WebRTC에 관한 공부를 하며 정리한 글로, 부정확한 개념 정리가 있을 수 있습니다. * WebRTC에 관한 깊은 정리가 아닌, 간단히 구현을 해보고자 하는 개발자분에게 도움이 되려 글을 작성했습니다. WebRTC 란? Web Real-Time Communication WebRTC는 웹 브라우저간에 실시간 음성, 영상, 데이터 교환을 위한 기술이다. P2P(Peer-to-Peer) 기술을 이용해 통신을 하기 때문에, 서로 다른 네트워크에 있는 피어간에 음성, 영상, 데이터를 교환할 수 있으며, JS API로 제공되는 오픈소스이다. ex) 화면 공유, 화상 회의, 실..
🔒 골드3 - #13904 과제 📌 테스트케이스 추가 힌트 4 1 10 3 30 3 30 3 40 = 100 ✍️ 풀이법 문제는 정말 간단했다고 생각한다. 마감일부터 거꾸로 진행을 하고, 최대값부터 하나씩 빼 주는 방식으로 해결하였다. 위 테스트 케이스로 설명을 하자면, 3일에 수행 가능한 과제 = ( 30 , 30 , 40) / 40 수행 2일에 수행 가능한 과제 = ( 30, 30) / 30 수행 1일에 수행 가능한 과제 = ( 30 , 10) / 30 수행 = 100 풀이 방법: 1. 마감일 수의 최대값부터 해당 날에만 수행 가능한 과제를 수행 가능 리스트에 추가한다. 2. 수행 가능 리스트에서 최대값을 제거하고, 최종 점수에 더한다. 3. 최대값에서 1을 뺀 후, 위 과정을 반복한다. 🗝️ 풀이 ..
이래저래 생각이 많은 날이 계속되고 있다. 아마 대학교도 졸업하고, 국비도 끝났고, 하지만 무엇보다도 소속감이 없어서 가장 혼란스러운 시기인 것 같다. 이런 마음을 다 잡고자 블로그를 시작했는데, 연말에 시작한 김에 2022년을 돌아보며 회고록을 작성해 보려 한다. 🤔 나는 2022년에 무엇을 했더라 졸업작품 ( ~ 6월 ) 먼저, 3학년 2학기부터 시작된 졸업작품. 야심 차게 아무것도 모르고 안드로이드 앱으로 선택을 했다. 난생처음으로 제대로 된 프로젝트를 진행한 것이었고, 친한 친구들과 진행을 하였기에 소통에는 문제가 없었다. 다만, 설계와 사전조사 단계를 조금 더 세밀하게 했어야 했다. 6개월간 열심히 구상해 오고, 개발해 오던 기능이 3개월 남은 시점에서 개발을 할 수 없다고 했다. 기업의 도움을..
🔒 골드4 - #1715 카드 정렬하기 📌 테스트케이스 추가 힌트 5 10 20 10 10 40 = 190 4 10 10 10 30 = 110 ✍️ 풀이법 해당 문제는 이해했다고 생각해도 헷갈리는 경우가 많았던 것 같다. 테스트 케이스를 세우고 문제를 풀 때, 더한 값들을 한 번씩 쓰면서 다 합친 이후. 쓴 값들을 다 더해주어야 답이 나오게 된다는 점을 알고 진행하면, 이해하기 편할 것 같다. 첫 번째 케이스를 예로 들자면, 90이 나오는 과정에서 모든 카드가 합쳐지게 된다. 이 후, 파란 값 ( 더한 과정에서 나온 값) 들을 다 합치면 원하는 정답 190 이 나오게 된다. 이 문제는 토너먼트 방식을 사용하려하거나, 리그 방식을 사용하려고 하면 안 된다. 왜냐하면, 가장 작은 카드 뭉치부터 뭉쳐주어야, ..
https://www.acmicpc.net/problem/2437 🔒 골드2 - #2437 저울 📌 테스트케이스 추가 힌트 7 1 1 1 3 5 13 16 = 12 3 1 2 3 = 7 1 1 = 2 2 2 2 = 1 ✍️ 풀이법 처음에는 단순하게 추를 이용해서 1을 만들고, 2를 만들고, 3을 만들고 ... 이런 식으로 생각했었다. 하지만 추를 무게 순으로 정렬하더라도, 내가 원하는 답을 얻기 힘들다는 생각에 추가 테스트 코드를 만들어보며 좀 더 고민 해 보았다. 그 결과 내가 찾은 규칙은 다음과 같았다. 7 1 1 1 3 5 13 16 = 12 해당 테스트케이스에서 뒤에서부터 1보다 작거나 같은 값을 찾으면 세번째 (= index 2) 1에서 찾아지게 된다. 그 값의 이전 index 값들의 합은 만들..
https://www.acmicpc.net/problem/12904 🔒 골드5 - #12904 A와 B 📌 테스트케이스 추가 힌트 B ABABABAB = 0 A A = 1 ABB AB = 0 ✍️ 풀이법 문제는 주어진 첫 번째 문자열을, 두 가지 규칙으로 두 번째 문자열로 만드는 것이므로, 간단하게 반대로 수행하는 것으로 해결하였다. 여기서 주의할 점은 예외를 찾는 부분이었다. 처음부터 성공하는 값이 들어오거나, 한 자릿수 값이 들어오거나, 첫 번째 문자열이 두 번째 문자열보다 크거나, 등등 예외를 잘 생각해서 처리해 주어야 한다. 따라서, 풀이법은 1. 두 번째 문자열을 뒤에서부터 A가 없을 때까지 A를 지운다. 2. B를 지우고, 문자열을 뒤집는다. 3. 위의 과정을 반복하여, 첫 번째 문자열보다 같..