본문 바로가기

분류 전체보기

(49)
17142 연구소3 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 이번 문제는 간단히 정리하면 M개 이상 10개 이하의 임의의 지점을 선택해서 탐색을 진행했을 때에 모든 방을 탐색하는 것에 소요되는 최소 시간을 구하는 문제이다. 먼저 탐색 공간의 크기가 최대 50 X 50이고 바이러스는 최대 10개이기에 전역 탐색을 진행해도 빠르게 끝낼 수 있다고 판단되어 next_permutation 함수를 사용해서 바이러스를 활성화하는 모든 경우의 수를 탐색하였다. 그리고 활성화 바이러스는 인접한 지역으로 동시에 퍼지므로 사용한 알고리즘은 BFS를 ..
55 Jump Game Jump Game - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 배열의 i번째 위치에 도달할 수 있다면 i 이전의 모든 위치를 지날 수 있다는 점을 이용하면 간단하게 풀 수 있다. 솔직히 그냥 위 생각만 가지고 의식의 흐름으로 대충 풀었을 때 그냥 풀리는 수준의 난이도라 개인적으로 왜 Easy가 아니고 Medium인지 이해가 안 되는 문제였다. 더보기 더보기 class Solution { public: vector check; vector vec; bool ..
14476 최대공약수 하나 빼기 14476번: 최대공약수 하나 빼기 첫째 줄에 정수의 개수 N (4 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 N개의 수가 주어진다. 각각의 수는 20억을 넘지 않는 자연수이다. www.acmicpc.net 최대공약수를 구하는 것에 사용되는 유클리드 호제법에는 결합 법칙이 적용된다. 예를 들어 GCD(4,18, 14)의 결과는 GCD(GCD(4,18), 14)의 결과와 같다. 그리고 이 문제와 같이 배열에서 하나의 수를 제거했을 때의 최대공약수는 위 사실을 이용하면 간단히 해결할 수 있다. a b c d e f a gcd(a,b) gcd(a,b,c) gcd(a,b,c,d) gcd(a,b,c,d,e) gcd(a,b,c,d,e,f) gcd(a,b,c,d,e,f) gcd(b,c,d,..
썬더버드(ThunderBird)에서 G-Suite 메일 사용하기 썬더버드는 Outlook과 같이 하나의 프로그램에서 여러 메일을 한 번에 관리하는 프로그램이다. 그런데 이번에 G-Suite 계정인 학교 메일을 썬더버드에 등록하려고 하니 제대로 등록이 되지 않았다. G-Suite 메일이라 Gmail과 동일하게 하면 되는 줄 알았는데 아니더라 ㅜㅜ 시행착오 몇 번 거치면서 등록하기는 했지만, 검색을 못한 건지 어떻게 하는지 정보가 없어서 꽤나 고생했다. 그래서 이번에 그 과정을 포스트로 남기고자 한다. 썬더버드를 처음 실행하면 처음부터 이메일 계정을 등록하는 화면이 나오는데 나는 이미 다른 메일을 등록해서 G-Suite 메일을 추가하는 식으로 포스트가 진행된다. 처음 사용하는 사용자는 G-Suite 메일 정보를 입력하는 부분부터 확인하면 된다. 썬더버드를 실행하면 우측 ..
빠르면 연말부터 이어서 포스팅할게요 ㅜㅜ 원래 3월 이전에 끝마치려고 했는데, 2월즈음부터 급격하게 바빠져서.... 한가해지면 다시 정리해서 올리겠습니다
우분투 20.04에서 카카오톡 써보자 요즈음 리눅스 쓸 일 있어서 우분투 깔아서 쓰는데 쓰다 보니 pc 카톡이 있으면 좋을 것 같아서 여러 시행착오 끝에 카톡 설치에 성공했다. 그래서 그 방법을 공유하려고 하는데 이게 100% 가능하다고 보장은 못하겠다. 나도 그냥 이것저것 시도하다가 갑자기 된 거라서 ㅋ tolovefeels.tistory.com/65 우분투 20.04 신 버전 카카오톡 설치하기 - XP버전 막히고 이후 우분투 20.04에 카카오톡 처음부터 설치 방법입니다 몇 일 사용해보니 이 방법으로는 아직 첨부파일이나 이미지가 보이지 않습니다 채팅 확인하는 수준으로만 사용하고 있어요 며칠 전 까지만 tolovefeels.tistory.com 일단 설치는 여기 나온대로 했는데, 로그인하려니까 recv_socket_error(err_cod..
1723 Find Minimum Time to Finish All Jobs https://leetcode.com/contest/weekly-contest-223/problems/find-minimum-time-to-finish-all-jobs/ 처음에 비트맵에 DP로 풀었다가 C++은 아슬아슬하긴 해도 통과하지만, 파이썬은 바로 시간 초과 나길래 그냥 Discussion에서 훌륭한 풀이를 가져왔다. https://leetcode.com/problems/find-minimum-time-to-finish-all-jobs/discuss/1042898/Most-performant-C%2B%2B-so-far-beats-100-runtime-99-memory C++ 더보기 class Solution { public: int minimumTimeRequired(vector& inputJob..
1722 Minimize Hamming Distance After Swap Operations source를 조합해서 만드는 배열들과의 target 사이의 Hamming Distance들 중, 최솟값을 찾는 문제이다. 얼마나 Swap 연산을 수행하던지 상관없기에 source의 각 위치에서 DFS를 통해 target에서 가능한 모든 부분을 방문하고, 방문하지 못한 위치들의 수가 Minimum Hamming Distance가 된다. 그리고 이 문제에서는 target의 원소가 중복될 수 있으므로 방문 여부를 확인할 때 인덱스를 이용했으며, Hamming Distance를 구할 때에는 Unordered map을 이용했다. 여담이지만, 이거 난이도가 왜 Medium인지 모르겠다. 보통 DFS 문제처럼 직관적으로 풀리면 모르겠는데, 그것도 아니고 중복되는 원소도 있고 Hard가 적당한거 같은데 Discuss..

728x90