반응형 전체 글363 2019년 2월 17일 저에 대해 이야기 하고자 합니다. (1편) 이 글은 제 생각을 정리하기 위한 글이고 "누군가 봤을 때 이 글을 보고 격려나 위로를 받았으면 좋겠다" 라는 취지로 쓰는 글입니다. 1993년 5월 19일에 태어나 현재 27살을 살고 있는 취업 준비생(백수) 입니다. 20살에 동양미래대학교 라는 서울에 있는 전문대 정보통신공학과를 수시로 입학하여 다니다가 21살 2월에 군입대를 했으며 운좋게도 777사령부라는 기밀부대에서 통신라인을 관리하는 통신병으로 근무하다가 22살 11월에 전역을 했습니다. 23살에 복학을 하며 반대표를 하면서 생활비를 벌기 위해 주말엔 아르바이트를 하고 자전거 타는걸 좋아해 150만원 짜리 로드 자전거를 구매한 후 동호회 활동도 했습니다. 방학땐 꾸준히 헬스를 해서 건강을 챙겼구요. 집에서 학교까지의 거리는 왕복 4시간 이었지만.. 2019. 2. 17. [C언어 풀이] Codility - Lessons 1, (Iterations) BinaryGap 이 문제는 Codility 사이트에서 확인하고 문제를 풀 수 있습니다. https://www.codility.com/ 문제. 설명 쉽게 설명하자면 정수N을 2진수로 표현했을때 1과 1사이의 0의 Gap 즉, 0의 갯수를 구하는 문제 입니다. 단, 1과 1사이의 0의 갯수 중 가장 긴 값을 반환해야 합니다. ex) 10000001001 -> 6 100000 -> 0(1과 1사이의 0의 갯수가 아님으로) 111110 -> 0(마찬가지) 1011 -> 1 1010101 -> 1 이정도 예시와 결과면 충분히 이해하셨으라 생각합니다. 저는 C언어로 문제를 풀었고 앞으로도 C로 풀 생각입니다. 소스코드 int solution(int N) { int num = 0, count = 0, flag = 0, result .. 2019. 2. 16. Codility 사용 방법(이용 방법) Codility 라는 '코딩 테스트' 사이트 입니다. 자신의 코딩 실력을 알아볼 수 있는 사이트 이지요. 제가 알기론 우아한형제, 이스트소프트 에서 코딩 테스트를 진행할 때 위 사이트에서 진행하는 걸로 알고 있습니다. https://www.codility.com/ 사이트 주소 입니다. 회원가입은 메일 인증만 하면 되므로 간편합니다. 취업을 위한 첫 걸음으로 생각하고 앞으로 꾸준히 올릴 생각입니다. 위 사진은 로그인 한 후 첫화면 사진입니다. 오른쪽 상단 빨간색 네모박스를 보시면 'Lessons, Challenges'가 있습니다. Lessons에선 단계별로 코딩 문제가 있으며 Challenges는 정해진 날짜에 전세계 사람들이 모여서 코딩테스트를 하는 온라인 대회? 같은 것입니다. 사진 하단에 보시면 [8.. 2019. 2. 16. C언어] 포인터(2) 사용법 포인터의 사용법은 이렇습니다. 선언 후 초기화. int num = 10; int *p; p = # 선언과 동시에 초기화 int num = 10; int *p = # 여기서 &num은 주소 값을 전달한다는 의미 입니다. 배열도 포인터가 됩니다. int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *p = arr; printf("%d\n", p[3]); 즉 포인터 변수에 배열의 시작 주소 값을 받으면 포인터 변수는 배열처럼 사용이 가능 합니다. 그럼 여기서 의문점이 하나 생깁니다. "&arr로 주지 않고 arr로만 줬는데 주소 값이 넘어갔내?" 원래 배열의 값을 표현할 때는 arr[0] 이런식으로 표현 합니다. 하지만 뒤에 대괄호를 빼고 arr만 표.. 2019. 1. 19. 메모리 구조에 대해서(stack, heap, buffer overflow) 프로그램을 만들고 실행을 하게되면 메모리 라는 곳에 코드들이 올라가 실행되게 됩니다. 사실 메모리는 물리적 메모리(Physical Memory)와 가상 메모리(Virtual Memory)로 나뉘게 됩니다.일반적으로 코드를 실행하면 가상메모리에 적재 됩니다. 물리적 메모리는 RAM이고 가상 메모리는 HDD의 용량에서 가져와 사용하게 됩니다.운영체제는 프로그램을 실행할 때 필요한 최소정보만 RAM에 저장을 합니다.그리고 이를 Working set이라고 합니다. 그 후 프로그램을 실행하면서 필요한 데이터 정보를 가상 메모리에서 가져와상황에 맞게 물리적 메모리에 맵핑하고 맵핑을 해제하고이런 작업을 반복하게 됩니다. 이것을 페이징(Paging)기법 이라고 합니다. 가상메모리의 주소 데이터들을 일정한 크기의 블록으.. 2019. 1. 19. c++ new의 사용법, malloc과의 차이(free, delete) ※컴퓨터의 메모리 구조를 알고 보시면 더 쉽게 이해할 수 있습니다. 메모리 구조 보러가기(클릭) 프로그램을 만들다 보면 상황에 따라 추가적인 메모리 공간을 실시간으로 확보해야 할 경우가 많습니다. 예를 들자면 채팅 대화방에 2명이 접속해 있는데 3명이 더 추가 접속을 했다거나 컴퓨터에 자료를 추가적으로 입력해 저장해야 하거나 등.... 여러가지 경우가 있습니다. 이것은 컴퓨터의 소프트웨어 사용시 변화가 유동적으로 일어나기 때문에 어찌보면 당연한 일이기도 합니다. 서론이 긴 이유는 제가 공부하고 배우면서 이 동적 메모리의 사용 이유를 제대로 파악하지 못한 채 배웠고 그로 인해 무엇이 중요한지도 제대로 모르고……. 답답한 느낌도 들고……. 무엇을 공부하거나 배울 때 목적이나 이유를 알고 지식을 습득하는 것이.. 2019. 1. 19. 이전 1 ··· 56 57 58 59 60 61 다음 728x90 반응형