본문 바로가기

algorithm63

Hackerrank Bigger is greater Hackerrank Bigger is greater 문제 : https://www.hackerrank.com/challenges/bigger-is-greater/problem source 순열의 다음 수를 구하는 문제와 동일. 최악의 경우 시간복잡도 O(n 제곱) 문제 푸는 방법은 아래 주석에 있고, 간략히 요약하면 turning point 를 찾은 뒤, turning point 보다 크지만 가장 작은 수를 찾는게 핵심 아래 테스트케이스 소스도 같이 있음. public class BiggerIsGreater { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int count = scan.nextInt(); S.. 2020. 9. 14.
hackerrank A Very BigSum hackerrank aVeryBigSum 문제 https://www.hackerrank.com/challenges/a-very-big-sum/problem 풀이 큰수가 나올 수 있으니 BigInteger 사용 테스트 케이스 아래에 첨 package hackerrank; import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigInteger; public class AVeryBigSum { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System... 2020. 9. 13.
쿽소트와 머지소트의 최악의 경우 시간복잡도. 둘의 차이점. 퀵소트와 머지소트의 최악의 경우 시간복잡도 퀵소트 최악의 경우 O(n제곱) 퀵소트는 Pivot 이 비교할 때마다 끝까지 다 비교하면 n번 비교할테니 높이 n 과 비교 하는 횟수 n 으로 인해 O(n제곱). 머지 소트 O(nlogn) 머지 소트는 분할을 전부 한 후, 마지막에 비교하는 것이기에 최악의 경우라도 O(nlogn) 왜냐하면 높이 logN * 전부 비교한다고 해도 kn 이니 logN*N 이 시간 복잡도 퀵소트와 머지소트 차이점 차이점은 퀵소트는 메모리를 안쓴다는 거고. 머지 소트는 입력 배열과 동일한 배열이 필요 (메모리 사용) 2020. 8. 30.
[프로그래머스] 다리를 지나는 트럭 문제 링크 [https://programmers.co.kr/learn/courses/30/lessons/42583] 문제풀이 1초마다 트럭을 올리고 빼는 방향으로 문제를 품. 큐를 2개 사용했으며, 트럭을 저장하는 큐. 트럭을 빼야되는 시간을 저장하는 큐 1초마다 트럭을 저장할지를 고려하고, 시간이 흐를 때 마다 트럭을 빼야하는지를 로직화 해서 풀었음. 주의사항은 트럭이 빠지는 순간에 동시에 큐에 저장될 수 있음. 이 부분을 고려하면 됨. 시간 복잡도 O(n) 왜 문제를 풀지 못했는가? 어떤 부분을 생각하지 못했는가? Source 2020. 7. 11.