분류 전체보기
-
[Codility - Counting Elements] MissingIntegerAlgorithm/구현(Brute force, Back tracking, etc.) 2021. 9. 19. 12:24
https://app.codility.com/programmers/lessons/4-counting_elements/missing_integer/ MissingInteger coding task - Learn to Code - Codility Find the smallest positive integer that does not occur in a given sequence. app.codility.com - N의 제한은 200,000이다. O(NlogN) 이하의 알고리즘을 이용해서 풀어야 한다. function solution(A) { const set = new Set(A) const tempSortedArr = [...set].filter(elem=> elem > 0).sort((a,b)=>a-b)..
-
서버사이드 렌더링(SSR) vs 클라이언트사이드 렌더링(CSR)Etc/WEB 2021. 9. 19. 11:39
서버사이드 렌더링 => 서버에서 렌더링에 필요한 html 구성을 모두 완료한 뒤, 그 html을 내려주는 것이다. 클라이언트사이드 렌더링 => 클라이언트 측은 빈 html 파일을 내려받고, 이 후 js코드를 실행하며 page를 렌더링한다. 차이점 1. 초기 view 로딩 속도 => 서버측에서 렌더링이 바로 가능한, 완성된 html 파일을 내려주기 위한 처리를 진행하므로(코드를 실행하면서 html을 만들고, data를 pre-fetching하는 등의 작업), html이 내려지는 속도는 SSR이 더 느리지만(TTFB이 더 느림), 내려받은 즉시 렌더링이 가능하므로 사용자에게 보여지는 초기 view는 CSR보다 더 빠르다. 또한 CSR의 경우 만약 클라이언트측에서 네트워크 속도가 좋지 않다면 빈 화면을 보는 ..
-
[Codility - Counting Elements] MaxCountersAlgorithm/구현(Brute force, Back tracking, etc.) 2021. 9. 17. 15:58
https://app.codility.com/programmers/lessons/4-counting_elements/max_counters/ MaxCounters coding task - Learn to Code - Codility Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum. app.codility.com - 백준 기준 실버4 정도 되는 문제가 아닐까 생각한다. - N size의 배열을 counter라 하고, A의 각 element들이 가리키는 k번째의 counter 갯수를 1 올려주면 된다...
-
[Codility - Counting Elements] PermCheckAlgorithm/구현(Brute force, Back tracking, etc.) 2021. 9. 17. 15:30
https://app.codility.com/programmers/lessons/4-counting_elements/perm_check/ PermCheck coding task - Learn to Code - Codility Check whether array A is a permutation. app.codility.com - 리뷰하기도 조금 민망한 문제.. N은 100,000이하이므로 O(NlogN)이하의 알고리즘을 구현해야 한다. function solution(A) { let N = A.length A.sort((a,b)=>a-b) for(let i = 0; i < N; i++){ if(A[i] !== i+1) return 0 } return 1 } - 1부터 N까지의 숫자 중 비어있는 숫자가 1..
-
[Codility - Counting Elements] frog_river_oneAlgorithm/자료구조 2021. 9. 17. 15:19
https://app.codility.com/programmers/lessons/4-counting_elements/frog_river_one/ FrogRiverOne coding task - Learn to Code - Codility Find the earliest time when a frog can jump to the other side of a river. app.codility.com - array의 최대 사이즈는 100,000이므로, O(NlogN) 이하로 알고리즘을 구현해야 한다. - Map을 사용해서 Hash로 구현을 한다. leaf의 위치를 key로 한다. function solution(X, A) { let hashMap = new Map() let numOfLeaves = 0 fo..
-
[Codility - Arrays] TapeEquilibriumAlgorithm/구현(Brute force, Back tracking, etc.) 2021. 9. 17. 14:57
https://app.codility.com/programmers/lessons/3-time_complexity/tape_equilibrium/ TapeEquilibrium coding task - Learn to Code - Codility Minimize the value |(A[0] + ... + A[P-1]) - (A[P] + ... + A[N-1])|. app.codility.com - Array의 element 최대 수는 200,000이다. 따라서, O(N^2)의 풀이법을 하면 당연히 시간초과가 날 것이다. function solution(A) { let answer = Number.MAX_SAFE_INTEGER for(let i = 0; i < A.length; i++){ let candid..
-
[Codility - Arrays] PermMissingElemAlgorithm/구현(Brute force, Back tracking, etc.) 2021. 9. 16. 15:25
https://app.codility.com/programmers/lessons/3-time_complexity/perm_missing_elem/ PermMissingElem coding task - Learn to Code - Codility Find the missing element in a given permutation. app.codility.com - 1부터 N+1까지의 N개의 숫자 중 누락된 숫자를 찾는 문제 - Array 객체를 만들고, 0으로 채워준다. 그 후, A를 순환하면서 해당 수를 index로 활용하여 새로 만들 배열의 해당 index값에 ++를 해준다. ( 이 부분은 Array 객체를 0이 아닌 true로 초기화 해 준 후 false로 바꾸는 로직도 좋다.) - Array 객체..
-
[Codility - Time Complexity] FrogJmpAlgorithm/구현(Brute force, Back tracking, etc.) 2021. 9. 16. 10:22
https://app.codility.com/programmers/lessons/3-time_complexity/frog_jmp/ FrogJmp coding task - Learn to Code - Codility Count minimal number of jumps from position X to Y. app.codility.com - X,Y,D의 범위는 10억이 넘어간다. 따라서, 시간복잡도를 잘 신경써야한다. 보통 연산횟수가 1억이 넘어가면 시간초과가 뜬다. - Y가 X보다 작아질 때 까지 Y-D를 계속 하는 방법은 시간초과가 떠버리고 만다. - 따라서, Y-X를 D로 나눈 몫을 구하고 (answer에 대입), 만약 Y-X를 D로 나눈 나머지가 0이 아니면, Y에 도달하기 위해 추가로 1번을 더 ..