전체 글1093 [자바] 백준 2138 - 전구와 스위치 (java) 목차 문제 : boj2138 필요 알고리즘 그리디 (탐욕법, greedy) 하나의 규칙을 적용해 최선의 답을 도출해낼 수 있는 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 만약 i번 스위치를 누르면 i번 스위치만 변경된다고 해보자. 이 경우 000 에서 010 으로 만들려면 어떻게 해야 할까? 자명하게도 그냥 좌측부터 서로 비교해보면서 서로 다른걸 누르면 되므로 1번만 누르면 된다. 그럼 i번 스위치를 누르면 i.. 2023. 8. 11. [자바] 백준 11066 - 파일 합치기 (java) 목차 문제 : boj11066 필요 알고리즘 다이나믹 프로그래밍 (DP, 동적 계획법), 누적합 분할정복 느낌으로 생각해보면 풀이법을 찾을 수 있다. 그리고 구현을 위해 DP와 누적합을 사용해야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 우선, 이 문제의 경우 연속된 파일끼리만 합칠 수 있다는 점을 주의해야 한다. 만약 아무 파일이나 합칠 수 있었다면 그리디로 매번 합쳐진 파일들 중 가장 가중치가 낮은 2개를 합치.. 2023. 8. 10. [자바] 백준 14550 - 마리오 파티 (java) 목차 문제 : boj14550 필요 알고리즘 다이나믹 프로그래밍 (DP, 동적 계획법) 동적 계획법으로 풀 수 있는 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 우선 '여러 줄에 걸쳐 N개의 정수가 주어진다.' 부분 때문에 입력 받는게 상당히 까다로울 수 있다. 자바로 어떻게 입력받아야할지 모르겠다면 이하 코드의 main 함수를 참고해보자. 내 경우 main에서 알아서 입력받은 뒤 solution 함수에 n, s.. 2023. 8. 9. wf-1000xm5 개봉기, 개인평 및 wf-1000xm4와 크기 비교, LDAC 켜는법, 통화품질 목차 기존에 wf-1000xm4(이하 xm4)를 거의 개봉하자마자 사서 사용하고 있었다. 개발자다보니 회사에서 일할 때도 집중 되도록 이어폰을 끼고 있는걸 선호하고, 자취를 하는데 세탁기가 방 안에 있다. 그래서 노이즈 캔슬링이 개인적으로 중요했고, 음질도 좋다고 하길래 xm4를 선택했었다. 출시당시 노캔 성능이 이어폰 해드폰 합친 것 중 최고티어였다. 그리고 이번에 wf-1000xm5(이하 xm5)가 출시했다고 하길래 뭐 전작보단 좋아졌겠지! 생각되어서 그냥 따로 안찾아보고 구매했다. 개봉기 이번에도 전작과 마찬가지로 친환경 머시기 패키징인 것 같다. 구매하고 대충 찾아보니 작아졌따고 하던데 확실히 뭔가 개봉하면서 아담한 느낌이 들었다. xm4는 실버로 썼으니 xm5는 블랙으로 사봤다. 케이스도 그렇고.. 2023. 8. 9. [자바] 백준 14938 - 서강그라운드 (java) 목차 문제 : boj14938 필요 알고리즘 플로이드-워셜 (floyd-warshall) 플로이드 워셜을 안다면 쉽게 풀 수 있는 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 플로이드 워셜은 O(N^3)인 알고리즘이지만, 모든 정점에서 모든 정점으로의 최단거리를 알 수 있어서 아주 강력한 알고리즘이다. 심지어 코드도 엄청나게 간단하고 이해하기도 직관적이라 익히기도 쉽다! 모른다면 이번 기회에 익혀보자. 물론 다익.. 2023. 8. 8. [자바] 백준 1311 - 할 일 정하기 1 (java) 목차 문제 : boj1311 필요 알고리즘 bit DP (비트 필드를 이용한 다이나믹 프로그래밍) 비트 단위 DP로 푼 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 문제를 좀 더 간소화시켜서, N이 항상 3이라고 해보자. 이 때 dp[A][B] 를 A번 사람을 B라는 일의 조합으로 진행한 경우 비용의 최솟값이라고 정의하자. 이 경우 B는 3개의 일을 가지고 할 수 있는 모든 경우를 나타낼 수 있으면 된다. 0. .. 2023. 8. 3. [자바] 백준 1956 - 운동 (java) 목차 문제 : boj1956 필요 알고리즘 플로이드-워셜 (floyd-warshall) 다른 그래프 탐색 알고리즘으로 되긴 하겠지만, 이 문제는 플로이드 워셜이 매우 편하긴 하다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 단방향 그래프에서 '1번 마을에서 1번 마을로 가는 최소 거리, 2번 마을에서 2번 마을로 가는 최소 거리, ... , V번 마을에서 V번 마을로 가는 최소 거리' 중 최소값을 출력하면 되는 문제이다... 2023. 8. 3. [자바] 백준 11812 - K진 트리 (java) 목차 문제 : boj11812 필요 알고리즘 최소 공통 조상 (LCA) LCA 문제이다. 근데 몰라도 푸는데 딱히 지장은 없다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 LCA를 안다면 그걸로 바로 접근 가능하고, 몰라도 딱히 상관은 없다. 어차피 첫 깊이엔 1개, 두번째 깊이엔 K개, 세번째 깊이엔 K^2개, ... 의 노드가 존재할꺼다. 그러므로 x와 y를 입력받을 시, K로 나누다보면 점점 부모 노드의 번호를 알 .. 2023. 8. 3. 인텔리제이, CLion에서 Rust 사용하기 (개발하기) 목차 Rust가 좋다고 하길래 궁금해졌다. 일반적으로 Rust 언어로 개발할 때 vscode를 많이 쓰는 것 같다. 하지만 내 경우 이미 젯브레인 계열의 단축키가 익숙해져 버린 몸이므로, 인텔리제이나 CLion으로 Rust를 사용해보고 싶었다. Rust 설치 https://www.rust-lang.org 에서 Get Started 또는 Install 메뉴에서 Rustup을 다운로드 후 실행한다. rustup은 러스트의 버전 및 환경 관리 도구라고 보면 된다. Case 1. 이미 Visual Studio가 깔려있던 경우 Rust를 사용하려면 MSVC 라는게 필요하다. 이미 Visual Studio 같은게 깔려있었다면 아래처럼 메뉴가 나타날꺼다. '1'을 선택해 안내에 따라 설치를 진행하자. 이 때, 윈도우.. 2023. 7. 28. 인텔리제이, 파이참 여러 PC 환경 동기화 (jetbrains 툴을 여러 PC에서 사용하는 경우 환경 동기화) 목차 별도로 노트북을 사용하지 않는 경우, 집과 회사에서 사용하는 PC가 다를 수 있다. 인텔리제이나 파이참 등 jetbrains의 툴들을 회사에서 사용하는 설정과 집에서 사용하는 설정을 다르게 쓰고 싶은 경우도 있겠지만, 일반적으로는 한 곳에 공들여서 설정해두고 나면 다른 쪽도 동일한 환경으로 사용하고 싶어진다. 예를들어 이번에 copilot 플러그인을 설치했다면, 다른 쪽도 굳이 plugins에서 새로 설치 안해도 알아서 설치되면 좋을꺼다. 뭐 Live Templates(예를들어 sout이라고 치면 System.out.println(); 이 나타나는 숏컷같은거)을 새로 등록한 경우, 이것도 알아서 다른 PC에도 설정되면 좋을꺼다. 또는 윈도우를 밀어서 재설치하는 경우나, 새로운 컴퓨터를 샀거나 등의 .. 2023. 7. 28. 이전 1 ··· 12 13 14 15 16 17 18 ··· 110 다음