Algorithm 썸네일형 리스트형 [Algorithm] 시간 복잡도 시간복잡도(BigO)가 얼마나 나오는지 생각해야 한다. 같은 문제라도 푸는 방법은 여러가지가 있다. 같은 문제라도 어떤 방법을 선택하는지에 따라 수행에 걸리는 시간이 크게 차이난다. 일반적으로 알고리즘에선 1억의 시간복잡도(연산횟수)를 어림잡아 1초정도 걸릴거라고 본다. 이 등가개념은 개인용 PC의 CPU 연산속도를 근거로 나온 수치인데, 현대의 상용 CPU는 대충 초당 1억번의 연산을 하기 때문이다. 1부터 N까지 수의 합을 구하시오. // 시간복잡도 O(N²) int sum = 0; for (int i = 1; i 더보기 [Algorithm] Java로 알고리즘 풀 때 유의사항 Java로 알고리즘 풀 때 유의사항 입력 시간을 단축 시키고 싶다면 Scanner 가 아닌 BufferdReader 를 사용한다. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 출력 시간을 단축시키고 싶다면 System.out.print 가 아닌 StringBuilder 혹은 StringBuffer를 사용한다. Java의 String은 VO(Value Object)로서 불변성을 갖기때문에 매번 새로운 인스턴스를 생성하므로 자원의 낭비가 심하다. String을 가변적으로 사용할 수 있게 해주는 StringBuilder 혹은 StringBuffer를 사용하는게 좋다. StringBuilder와 StringBuffer의 차이.. 더보기 이전 1 2 3 다음