728x90 티스토리챌린지2 [알고리즘] 시간복잡도 알고리즘 1. 시간복잡도의 O(n)과 O(nlogn)의 차이O(n)의미: 데이터의 크기 nnn에 비례하여 연산 횟수가 증가합니다. 데이터가 nnn만큼 커지면 수행 시간도 비슷하게 nnn배로 증가합니다.특징:비교적 빠릅니다.선형적으로 연산을 수행하기 때문에 대규모 데이터에도 적합합니다.예: 투포인터 알고리즘, 단일 반복문을 사용하는 탐색 문제.O(nlogn)의미: 데이터 크기 nnn에 로그 크기를 곱한 만큼 연산 횟수가 증가합니다. 이는 정렬 알고리즘과 같은 문제에서 자주 나타납니다.특징:nnn이 작을 때는 O(n)보다 큰 차이가 나지 않지만, nnn이 커질수록 느려집니다.logn\log nlogn은 느리게 증가하기 때문에 큰 nnn에서도 실용적일 수 있습니다.예: 퀵소트, 병합 정렬 등 효율적인 정렬 알고리즘... 2024. 11. 26. [Java] Scanner vs BufferedReader Java로 알고리즘 문제를 푸는 중 Scanner 클래스를 사용했을 때 시간초과가 날 경우 BufferedReader을 사용하여 해결했다.그런데 Scanner와 BufferedReader에 관해 의문점이 들기 시작했다.뭐가 어떻게 다르길래 실행시간이 차이가 날까?무엇을 사용해야 효율적인 코드를 작성할 수 있을까?이러한 생각을 기억보다는 기록으로 남기고 싶기에 Scanner와 BufferedReader의 역할과 차이점을 알아보려 한다. Scanner란?Scanner 클래스는 입력받은 데이터(바이트)를 다양한 타입으로 변환하여 반환하는 클래스이다. 간단하게 기본형과 String 타입을 정규표현식을 사용해 파싱(parse)할 수 있다.Scanner의 특징java.util 패키지에 속한다. (java.util... 2024. 11. 25. 이전 1 다음 728x90