반응형 Study64 [Go] Slice와 Array 알고 쓰기 Slice C++의 Vector, Java의 ArrayList 등과 같이 사용할 수 있는 Go의 Slice. 코딩 테스트든 개발이든 가장 많이 사용하게 될 자료구조가 아닌 듯싶다. 그렇기에 Slice를 잘 사용하기 위해 기본적으로 알아야 하는 내용들의 이해를 돕기 위해 Array와 비교하여 요약하려 한다. Array와 Slice의 차이 기본적으로 Array는 memory에 동적으로 할당할 수 없다(정적인 자료구조). 생성 시에 크기를 지정해 주어야 하며 그에 맞춰 const 한 메모리를 할당하게 된다. 하지만 Slice는 그렇지 않다. Slice는 동적으로 할당할 수 있으며 크기를 따로 지정해 주지 않아도 된다(해도 됨). Array와 Slice 생성 방법 Array 몇 가지의 방법을 소개하겠다. 사실 .. 2021. 7. 21. [Algorithm] BOJ_9251_LCS - JAVA 문제 설명 문제 해설 LCS 문제 설명에도 나오지만 두 수열에 부분 수열이 되는 수열 중 가장 긴 것을 찾는 것. DP를 사용하는 가장 대표적인 방식 중 하나. 해결 방법 String str1 = "ACAYKP" String str2 = "CAPCAK" int dp[str1문자열길이][str2문자열길이]일 때 DP의 풀이 방법에 따라 \1. 문제를 작은 문제로 나눈다. 문자열 str1의 문자를 가리키는 인덱스를 i1, str2의 문자를 가리키는 인덱스를 i2라 둔다. 문자열 str1과 str2의 인덱스가 가리키는 문자를 비교한다. 나타날 수 있는 경우의 수는 (1)i1, i2가 가리키는 문자가 같을 때 (2)i1, i2가 가리키는 문자가 다를 때 (1) i1, i2가 같이 커진다. -> i1 = i1 +.. 2021. 7. 20. [Go] GC(Garbage Collector) GC(Garbage Collector) Memory Garbage를 제거하는 역할 사용하지 않는 Memory를 차지하는 것들을 삭제 작동방식 쓸모없어지면 쓰레기로 판단 reference count == 0일 때. func add(){ var a int a = 20 }// 이 밖으로 나간다면 a변수의 reference count는 0이 됨 -> 쓸모가 없어짐 주솟값들이 서로를 가리켜 순환 형태를 이루는 외딴섬 형태를 이룰 때. a = b; b = c; c = a; 단점 느림. 버그 안만들면 됨.(C&&C++ 변태들 발언). GC가 잡지 못하는 leak이 있긴 함(개발자의 실수). 사용하지 않는 배열의 memory. 장점 귀찮은 일은 GC에게 맡겨 개발자의 생산성 향상. GC가 활동을 짧게 짧게 하여 개발자.. 2021. 7. 18. [Go] C++ 과 Go 포인터의 차이 C++ #include using namespace std; class Student { public: int _age; Student() {}; Student(int age) : _age(age) {} }; int main() { Student s = Student(21); Student* p = &s; cout 2021. 7. 17. 이전 1 ··· 8 9 10 11 다음 반응형