분류 전체보기
-
malloc lab binary 케이스 메모리 이용률 개선하기SW Jungle/TIL 2024. 4. 18. 17:16
#MallocLab 96점 받는법segregated free list를 적용하고, realloc을 개선한 버전을 돌려보았다../mdrver -V 를 돌려보자위와 같은 결과를 받았다 다 좋은데 7, 8번 케이스만 메모리 활용도가 반토막 나있다!해당 케이스는 traces 폴더의 binary.rep 과 binary2.rep 이다. 직접 파일을 까보자.까보면102410012000240001a 0 16a 1 112a 2 16a 3 112a 4 16a 5 112a 6 16a 7 112a 8 16a 9 112a 10 16a 11 112a 12 16a 13 112a 14 16a 15 112a 16 16a 17 112a 18 16a 19 112a 20 16a 21..
-
VSCode 디버그 세팅Archive/Tips 2024. 4. 12. 19:47
디버그할 프로젝트 디렉토리와 동등한 위치에 .vscode 디렉토리를 만들고 launch.json 파일을 만든다. { "version": "0.2.0", "configurations": [ { "name": "디버그 파일 이름", "type": "cppdbg", // 사용할 디버거 "request": "launch", "program": "${workspaceFolder}{테스트할 파일 경로}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "..
-
변수에 대한 이해SW Jungle/TIL 2024. 4. 12. 10:48
변수메모리 연결자 변수는 메모리 칸에 연결해주는 연결자라고 생각할 수 있다. 프로그래밍 언어에서 변수를 선언할 때, 실제로 하는 일은 메모리 '칸'을 예약하는 것이다.이 칸은 변수의 데이터 타입에 의해 결정되고, 시스템에게 얼마만큼의 메모리 칸을 할당해야하는지 알려준다.exint a; : 4 바이트 즉, 4칸 만큼의 메모리 칸을 쓸거고 그 주소를 a가 알고 있고 a가 찾아갈것이다.이는 사실int *a = get_memory(size of int) // 사용할 데이터 타입만큼의 주소를 할당해주고 주소를 저장한다.*a; // 해당 주소를 찾아가 해당 칸에 값을 저장한다.를 줄여 놓은 것이다.사실 변수는 진짜 값이 저장되는 곳(메모리)의 시작 위치와 그..
-
day ~ 24SW Jungle/daily 2024. 4. 5. 09:58
컴퓨터 사고로의 전환(알고리즘) 주차가 끝나고 C언어에 들어가며 매일 쓰겠다는 다짐과 달리 오랜만에 글을 작성한다. 역시, 무언갈 꾸준히 하려면 일정한 루틴에 넣고 해야지 하겠다고 마음만 먹어두면 역시 오래가기 힘들다. 강의실에 도착하면 10분정도 글을 쓰는 습관을 가져야겠다. 나는 잘지냈는가? 흠... 매일 아침 7시에 일어나서 8~ 8:30 까지 헬스와 유산소를 했다. 지난날의 나 대단해 👍 하지만, 여기의 생활에 익숙해진난 점점 일어나는 시간이 늦어지는 거 같다. 30분 더자거나 한시간 더 자거나... 아침 운동을 시작한 초심을 떠올렸다. 매일 일정한 나의 루틴을 갖는것, 작은 성취로 하루를 잘 보내기 위해, 그날 공부를 더 잘하기 위해, 멋진몸을 갖기위해. 그냥 운동을 하는 것이 중요한게 아니다...
-
day ~ 16SW Jungle/daily 2024. 3. 28. 20:44
알고리즘 2주차가 끝났다. DFS, BFS, 이분탐색 등등 여러분야의 알고리즘 기본기를 배웠던 주이다. 스스로 고민해서 방법을 아는 것에서 배운 것도 있겠지만 기본적인 기술을 일단 빨리 배우고 활용하는 연습에 집중하는 것도 중요하다고 느꼇다. 앞서가는 팀원과 스스로의 생각을 코드 한줄로도 못옮기는 나를 보면서 자괴감도 들었고 조바심도 많이 들었다. 실력이 너무 없어서 다음에 같은 팀하기 싫으면 어쩌지? 라는 생각도 했다. 빨리 팀원을 뒤쫒아 가고 싶었고 발목 잡기 싫어서 강의실 옆에서 쪽잠자면서 밤세워서 알고리즘 공부를 하루 했다. 졸리면 30분 알람 맞추고 자고 일어나서 다시 문제풀고 공부하고... 생각보다 15분 단위로 자고 일어나는게 상쾌하고 좋은 방법이었다. 어쨌든, 이 하루의 노력으로 다음날 문..
-
week01SW Jungle/TIL 2024. 3. 24. 15:36
알고리즘 주차 시작 기초적인 입 출력, 반복문 문제를 풀고 크게 재귀, 정렬, 완전탐색, 분할 정복, 이분 탐색의 문제들을 풀었다. 배운 지식을 이야기 하기 전에 한주동안 배운 방법론은 해야할 과제가 많고 시간이 부족하다면, 해결하는데 사용되는 기반 지식 혹은 이미 해결한 사례를 빨리 익히고 넘어가고 나중에 활용하는 것이다. 예를 들어 하 문제들은 공부를 하고 푸는데도 오래걸린다면 그냥 답을 보고 내것이 될때 까지 빨리 익히고 난이도가 높은 문제에서 어떻게 활용할지 고민하는데 시간을 쓰자 컴퓨터 사고로의 전환 우리의 과제는 알고리즘 문제를 쭉 푸는 것이지만 이번 주차의 이름은 '컴퓨터 사고로의 전환' 이다. 왜 이런 이름이 붙었는지는 문제를 풀면서 깨닫게 되었다. 어떤 문제를 풀때 우리 사람은 간단하게 ..
-
day 9 ~ 10SW Jungle/daily 2024. 3. 24. 14:25
알고리즘 주차에서 문제를 푸는데 스스로의 힘으로 아주 간단한 내 생각 조차 못옮기는 나 였다. ai 자동완성이나 다른 블로그 포스팅을 그대로 옮기는 것에 너무 익숙해져 스스로 만들어 내는 능력을 잃었나보다... 스스로 안다고 자만해서 남의 이야기나 글을 읽거나 내가 쓴 코드도 천천히 읽는걸 귀찮아했고 그래서 점점 퇴화했나보다 떼잉... 팀원한테 부끄러웠고 실제로 알고리즘 문제를 쫒아가는데 속도가 너무 더디게 되었다. 부끄럽지만 팀원한테 나한테 붙어서 코딩해달라고 했다. 그저 치라는데로 치는 코드 몽키였지만 조금씩 이나마 다시 천천히 읽고 코드로 옮기는 것에 도움이 되었다. 귀찮아하지말고 천천히 읽는 습관을 들이자 결과만 보지말고 과정을 알려고하자고
-
day7 ~9SW Jungle/daily 2024. 3. 21. 04:00
시간은 한정되어있고 배우고 익혀야 할것들은 매우 많다. 특히 이곳에서는 더욱이. 혼자고민해서 알아내는 능력과 시간도 필요하겠지만 정글에서는 정해진것을 정해진기간에 해내는 것이 제일 중요하다. 천천히 하기엔 난 늦어있다. 작은 단위로 시간을 정하고 그 시간이 지나면 바로 팀원을 활용하자 팀으로도 해결이안되면 다른 사람에게 알려달라하거나 답을 보고 공부하자 그래도 안되면 빨리 넘어가서 나중에 돌아보자. 일딴 필요한 공부를 다 익혀둔 것이 현업에 나가는 것에서도 내가 나아가는 속도에서도 장기적으로 더 좋을듯하다. 일단 빨리 넓게가고 다시 돌아오자