본문 바로가기
반응형

Language52

[Java] 코드 실행 시간 구하기 (시간 측정) 일을 하다보면 실행시간에 관한 로그를 찍기 마련이다. 실행 시간을 구하는 방법은 A 현재 시간 (코드 실행) B 현재 시간 B - A 출력 이러한 동작 순서를 가진다. 현재 시간 구하는 법 System.currentTimeMillis(); 위의 코드를 사용하여 현재 시간을 구할 수 있다. 예시 long beforeTime = System.currentTimeMillis(); foo(); long afterTime = System.currentTimeMillis(); System.out.println(afterTime - beforeTime); 위의 코드는 foo()라는 함수를 실행할 때 걸리는 시간을 계산하여 출력해 준다. 시간은 ms 단위로 1초는 1000ms 1ms = 0.001s 로 만약 초 단위 .. 2022. 12. 2.
[Java] 힙(Heap) https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 위 문제를 풀면서 대학교 2학년 때 배웠던 힙이 기억이 안 나서 공부하게 되었다. 우선 힙(Heap)에 대해서 알아보자. 힙(Heap)이란? 힙은 '최소값 혹은 최댓값을 빠르게 찾기 위한 완전 이진트리 형태로 만들어진 자료구조'라고 정의할 수 있다. 우선 '이진 트리' 구조로는 힙을 구현할 수 없다. 힙의 중요한 모토는 최소 힙 - 부모 노드가 반드시 자식 노드보다 작아야 한다.. 2022. 11. 22.
[Java] BufferedReader, BufferedWriter / 자바 문자 입력받기 알고리즘 문제를 풀다 보면 공백으로 입력받는 경우, 줄간 입력받는 경우 등 다양하게 입력받을 수 있어야 하며 이때 그냥 scanner 기능으로 입력받는 게 아닌 빠른 속도로 입력받기 위해 BufferedReader와 빠르게 출력하기 위한 BufferedWriter 기능을 쓸 줄 알아야 한다. Scanner / BufferedReader 차이 Scanner 입력을 받을 때 공백(space)과 개행(enter)을 모두 경계로 인식한다. next(), nextInt(), nextchar() 등 형태를 지정 가능 BufferedReader 개행(enter)으로만 경계 인식 String 형태로만 저장됨 (형 변환이 필요) Scanner에 비해 월등히 빠른 속도 위와 같이 구분 가능하다. 정수 하나만 받을 때 Bu.. 2022. 11. 20.
[Git] git에서 branch 만들기, git merge git branch coupon coupon이라는 이름의 branch를 생성 git switch coupon coupon사본이 있는 곳으로 이동 git status # On Branch coupon git status를 입력하면 현재 어떤 브런치에 위치하고 있는지 보여준다. git switch master # master branch로 이동하여 git merge coupon # coupon branch와 기존의 master branch를 합병 # 합병시 반드시 메인이 되는 branch로 이동해야함 위의 과정에서 공통되는 파일에서 다른 부분이 생길 경우 충돌이 생길 수 있음 만약 충돌이 안 났다면 merge가 잘 되었을 것이다. 충돌(conflict) 해결법은 위의 상태에서 원하는 코드만 남긴 후 git .. 2022. 11. 18.
반응형