본문 바로가기

운동하는 개발자

(179)
Git에서 WinMerge로 difftool 명령어 사용하기 과거 Winmerge를 사용해서 소스코드의 변화나 텍스트 문서의 비교를 하곤 했었다. Git설치 시 기본적인 diff명령어로는 너무 보기도 불편했고 수정은 더 불편했다. 찾아보니 winmerge를 사용해서 git difftool 명령어가 가능하다고 하였고 적용하였더니 너무 편해졌다. 그럼 설치방법! (Git은 이미 설치된 것으로 가정) 1. Winmerge 설치 https://winmerge.org/downloads/?lang=ko 위 공식홈피 링크에서 다운로드받아 설치한다 2. ".gitconfig" 파일 수정 이 파일은 git설치시 C:\User\[사용자명] 아래에 숨김파일로 존재한다 만약 파일이 없다면 Git 설치 후 아래 최초 설정을 하지 않은 경우이다 위 설정을 해주면 .gitconfig 파일이..
Delphi 2010 Indy 업그레이드 (재설치) 회사에서 Delphi 2010 버전을 사용하고 있는데 이는 설치하면 과거버전의 Indy가 설치되어 있어서 특정 기능들을 사용할 수 없다. 그래서 최신 Indy로 교체시켜줘야 한다 1. 최신 Indy 다운로드 https://www.indyproject.org/ 여기서 다운로드 가능하며 현재는 github로 연동해놨다 (https://github.com/IndySockets/Indy) GitHub - IndySockets/Indy: Indy - Internet Direct Indy - Internet Direct. Contribute to IndySockets/Indy development by creating an account on GitHub. github.com 2. 기존 Indy 삭제 1) Delp..
Beakjoon] 절댓값 힙 구현하기 (백준 11286 코테) = 우선순위 문제주소 : https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 : 연산의 개수때문에 O(n^2의 연산속도의 알고리즘으로 해결하면 안된다. O(nlogn) 시간복잡도의 알고리즘으로 풀어야 하며 값을 입력받으면서 바로바로 조건에 맞게 정렬시켜야 한다. 우선순위 큐를 이용하되 순서의 조건이 까다롭기에 조건을 직접 알려줘야한다. 코드는 아래 숨김 더보기 #include #include #include struct MyQueue..
실무자가 경험한 코딩테스트(알고리즘) 책 추천 + 스토리.. 제법 오래전 사회 초년생쯔음 시절 코딩테스트란 것을 전혀 모르던 때 이스트소프트에 서류합격하여 코딩테스트에 암것도 모르고 들어갔다가 맨붕한 경험이 있었다. 결국 코테가 없는 곳으로 이직하였었으나 코딩테스트는 꼭 이직의 준비 뿐만아니라 생각하는 사고력을 키운다는 점에서 공부해야겠다고 생각했었고 약 5년 전쯤 회사 사수와 함께 해커랭크를 풀었었다. 일주일간 3~4문제를 풀어오고 어떻게 풀었는지 비교해는 식으로 가볍게 스터디 식으로 진행했었는데 문제는 해커랭크가 모두 영어란 것이다. 영어를 잘 읽는 사수에 비해 영어에 약한 나는 문제를 읽고 이해하는 거부터가 너무 시간을 소모하고 지치게 하였다. 그리고 공부없이 무작정 풀다 보니 문제를 어떻게 접근해야 하는지, 내가 왜 틀렸는지 알 수 없었기에 난이도가 오르면..
Beakjoon] '좋은 수' 구하기 (백준 코테) = 투포인터 문제주소 : https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 문제 : N개의 수 중에 다른 두 수의 합으로 표현되는 수 개수 찾기 풀이 : 정렬시킨 뒤 투포인터 기술로 양 끝에서부터 더하며 비교한다. 추가로 '다른 두 수의 합으로' 라는 말에 주의하여 자기 자신을 더하지 않도록 예외처리한다. 코드는 아래 숨김 더보기 #include #include #include int main() { std::ios::sync_with_stdio(false); std::cin.tie(N..
Beakjoon] 나머지 합 구하기 (백준 코테) = 구간합 문제주소 : https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 문제요약 : N개의 수가 주어진 경우 연속된 부분의 합이 M으로 나누어 떨어지는 구간의 개수를 구하라 풀이 : 연속된 부분의 합이라는 것부터 구간합을 계산해 놓고 구하는 것을 추측할 수 있다. 누적합을 구해놓고 나머지 연산을 처리 한 뒤 0인것들의 수를 세어둔다 구간합의 계산은 S[End] - S[Start] 이므로 S[End]와 S[S..
Beakjoon] 구간 합 구하기 5 (백준 코테) = 구간합 하 정말 얼마만에 쓰는 알고리즘, 코딩테스트 탭인지... 해커랭크 풀다가 영어문제 읽는거에서부터 지쳐서 포기하고.. 파이썬 책사서 책에 있는 문제 풀다가.... 일이 바빠서 놨다가.. 다시 C++로 된 책 사서 공부하다 넘 어려워서 서점가서 직접 보고 고른책 덕에 다시 백준으로 시작.. 책은 다음에 리뷰하기로.. 문제주소 : https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 문제 : 2차원배열의 표에서 ..
Duplicate class a.a found in modules jetified-a-release-runtime (:a-release:) and jetified-b-release-runtime (:b-release:) 우선 이 프로젝트의 구조는 다음과 같다. lib플젝에서 lib.aar을 생성하고 libEx 플젝에서 lib.aar을 dependencies 하여 libEx.aar를 생성한다. 그리고 app 플젝에서 lib.aar, libEx.aar을 모두 dependencies 한다. 기존 코드에서 gradle, java, Target SDK 버전만 바꿨을 뿐인데 제목과 같은 에러가 발생했다. Duplicate class a.a found in modules jetified-a-release-runtime (:a-release:) and jetified-b-release-runtime (:b-release:) Duplicate class a.b found in modules jetified-a-release-runtim..