본문 바로가기

전체 글

(257)
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] 버블 소트 (백준 1377 코테) - 정렬 문제주소 : https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 문제 : 풀이 : 정렬이 필요 없어지는 데까지 몇 번의 회전이 있었는지 구하는 문제.. 코드 그대로 구하는 건 시간복잡도에서 탈락한다 그렇기에 다른 방식으로 접근해야하는데 i가 회전을 끝낸 횟수는 값이 좌측으로 이동한 수와 같다.(한 번의 i값 회전으로 좌측으론 한 칸밖에 못 움직이므로) 그래서 인덱스값을 저장하여 sort로 정렬시키고(시간복잡도가 낮으므로) 각..
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문제를 풀어오고 어떻게 풀었는지 비교해는 식으로 가볍게 스터디 식으로 진행했었는데 문제는 해커랭크가 모두 영어란 것이다. 영어를 잘 읽는 사수에 비해 영어에 약한 나는 문제를 읽고 이해하는 거부터가 너무 시간을 소모하고 지치게 하였다. 그리고 공부없이 무작정 풀다 보니 문제를 어떻게 접근해야 하는지, 내가 왜 틀렸는지 알 수 없었기에 난이도가 오르면..
행복지수가 높은 평범한 개발자 (링크) 평소 드는 생각들을 혼자 정리하기도 하는데 어디 정리해 두면 좋겠다 싶어서 글을 작성합니다. 이 블로그는 개발 기술블로그이기에 성격과 맞지 않다고 생각하여 네이버에 작성합니다. https://blog.naver.com/wyh2002 행복지수가 높은 평범한 개발자 : 네이버 블로그 이런 저런 혼자만의 생각을 작성합니다 개발 기술 블로그 https://singo112ok.tistory.com/ blog.naver.com
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..