개발지식/CS 2

[알고리즘지식] 해시, 해시충돌 그리고 해결법

프로그래머스에서 이번엔 해시를 해볼까? 하다가 알고리즘을 배운지 1년 여 되어가던 찰나라 다시한번 해시를 다시 간단하게 공부해보았습니다!! 알고리즘을 깊게 공부하는 것은 좋지만 정리/요약은 간단히 하는게 더 좋다고 생각해서 간단하게 했습니다 :) 1. Hash 1.1. Hash란? Hash : 임의의 길이를 갖는 데이터를 고정된 길이의 데이터로 변환(매핑)하는 것 Hash Function : hash 기능을 수행하는 함수 - 하나의 값은 동일한 결과를 가져온다. // 만약, 인풋으로 10가지의 경우가 들어갈 수 있는데 아웃풋으로 다섯개의 경우만 나올 수 있다면? -> 해시충돌!!이 발생할 수 있다. 1.2. Hash 충돌 해시 충돌 : 서로 다른 값을 인풋시켰음에도 같은 결과를 내는 경우 Hash 충돌의..

개발지식/CS 2021.06.12

[semVer] semVer방식의 버전 넘버링

노드를 공부하다가 그동안 그렇구나하고 넘겼던 버전 넘버링이 어떤 기준으로 작성되는지 궁금해져서 이번에 정리해보았습니다! 바로 본론으로 넘어가면 다들 인터넷에서 여러 프로그램을 다운받으려고 할 때 아래 사진처럼 버전이 적혀있는걸 다들 보셨을겁니다. 언제는 1.1.1에서 1.1.2 정도로 맨 마지막 숫자만 오르고 어느 떄는 2.0.0으로 아예 앞 숫자가 바뀌는데 여기에도 다 의미가 있다는 점 다들 알고계시나요?? 이렇게 패키지나 실행파일의 버전을 3가지의 숫자로 나타낸 것을 semVer (semantic Versioning, 유의적 버전)이라고 합니다. 1. SemVer semVer의 의미는 버전을 구성하는 세자리가 모두 의미를 가지고 있음을 뜻으로 버전을 나타내는 3개의 숫자는 각각 맨 앞의 숫자는 maj..

개발지식/CS 2021.04.10
728x90