내가 아주 좋아하고 자주 사용하는 C++ 오픈소스 라이브러리인 libtins의 소스 코드 일부이다


분명히 const resource 레퍼런스 타입으로 변수를 받고, 변수명은 resource.

타입명과 변수명이 같아도 되는걸까...

실행 자체는 잘 되는데 또 이 함수를 직접 이용하려고 하니까 왠지 안되더라.

실제로 IDE에서 저 파일 내부의 소스를 살펴보니 cannot resolve가 뜨는데, 사용 안하고 돌린 코드는 또 잘돌아가니 미칠 지경

으으 어떻게 고쳐야 하지...

'잡담' 카테고리의 다른 글

Todo List  (0) 2016.07.18
이스트소프트 면접 후기  (4) 2016.07.06
ESTSOFT 코딩테스트 합격  (1) 2016.06.29
ESTSOFT 코딩테스트 후기  (19) 2016.06.27
문제파악과 영어능력은 중요하다  (0) 2016.06.24
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,


1차 서류 통과 이후 걱정했던 코딩테스트를 통과했습니다.

이제 실무진 면접과 최종면접만 남았네요.


어떤 질문이 나올 지 몰라 매우 걱정되기는 하지만 최대한 준비하고 공부하며 기다리겠습니다.

1대 다 면접이라 압박이 엄청 심할 것 같은데...

꼭 합격했으면 좋겠네요 :D

'잡담' 카테고리의 다른 글

이스트소프트 면접 후기  (4) 2016.07.06
소스가 왜 돌아가는지 신기하다  (0) 2016.06.30
ESTSOFT 코딩테스트 후기  (19) 2016.06.27
문제파악과 영어능력은 중요하다  (0) 2016.06.24
Todo List  (0) 2016.06.24
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,




 1차 서류 합격 이후, 부족한 알고리즘을 계속 공부하고 저번주 토요일에 판교역 2번출구 옆, 스타벅스에서 코딩테스트를 했다.


 학교에서 엄청 긴장하고 챙겨 나오느라 알고리즘 책이랑 여러가지 다 챙겼는데 가장 중요한 노트북 충전기를 안 챙겨와서 엄청 불안했다. 다행히도 노트북은 배터리가 100%였던 터라 5시간 이상은 쓸 수 있었고, 코딩테스트는 총 4시간동안 진행했으니 큰 무리는 없이 테스트를 진행할 수 있었다.


 이 테스트에 대해 어디까지는 이야기해도 되고, 어디부터는 하면 안 되는지를 잘 모르겠다.

그래서 문제 내용이나 주제에 대한 언급은 일절 하지 않고 후기만 쓰도록 하겠다.



 일단 문제를 풀면서 느낀 것은, 역시 '특성화고 졸업예정자'로 넣었다 보니 심각하게 어려운 문제까지 나오지는 않았다는 것이다.

경력자나 학사 이상에 지원했으면 훨씬 어렵고 복잡한 문제가 나왔겠지만, 문제의 대부분은 짧은 코드와 간단한 생각만으로도 풀 수 있었다.


 하지만 마지막 한 문제가 발목을 잡았고, 결국 시간의 70% 정도를 마지막 문제를 푸는 데에 사용했다. 시간복잡도와 공간복잡도를 생각해가면서 알고리즘을 작성하고, 이를 적용해서 코드를 짜야 하다 보니 힘들긴 했지만, 예상했던 것만큼 크게 어렵지는 않았다. 서류합격 이후 계속 영어로 된 알고리즘 문제를 푸는 연습을 한 덕분인 것 같다.


 문제를 풀면서 가장 크게 느낀 것은 (기본적이게도) 인간의 뇌는 당분 없이는 제대로 된 사고를 할 수 없다는 것이다. 아침에 밥을 먹지 않고 대충 끼니를 때운 후, 스타벅스에서 아메리카노나 시켜서 마시고 하다 보니 카페인이 들어오고 머릿속에서는 알고리즘을 계속 생각하고 있고 긴장까지 해서 당분이 급속도로 소모되었다.

 한 두시간쯤 지나고, 마지막 문제에 매달리고 있는데 당이 부족하니까 간단한 생각조차도 너무 시간이 오래 소요되고, 집중도 되지 않았다. 위기의식을 느끼고 겨우 카페모카에 휘핑크림 잔뜩 얹어서 마시고 나서 문제를 풀었다. 시험 칠때 밥은 꼭 먹고 하도록 하자...


만약 이 테스트를 통과한다면 앞으로 면접이 두 번 남고,

그 면접까지 통과하고 나야 입사할 수 있게 된다.

꼭 붙었으면 좋겠다. :)



* 문제 관련해서 질문이 많아 본문에 작성해둡니다.

 저의 경우 메일로 코딩테스트를 진행할 URL이 전달되었고, 지정된 제한 시간 전까지 들어가서 4시간동안 문제를 풀면 되었습니다. URL 전달 후부터 제한 시간까지는 상당히 넉넉하니 걱정하지 않으셔도 됩니다. 홈페이지 입사 공지사항에도 나와있는 내용이지만, 코딩테스트는 codility라는 곳을 이용하여 온라인으로 진행합니다. (관련내용 : https://estsoft.recruiter.co.kr/bbs/appsite/notice/read/69162)

실제 이 사이트에서 제공하는 레슨과 챌린지와 비슷한 방식으로 진행되므로 코딩테스트 준비중이시라면 꼭 들어가셔서 문제를 풀어보시는게 좋겠습니다. (https://app.codility.com/programmers/lessons/1-iterations/ )

'잡담' 카테고리의 다른 글

소스가 왜 돌아가는지 신기하다  (0) 2016.06.30
ESTSOFT 코딩테스트 합격  (1) 2016.06.29
문제파악과 영어능력은 중요하다  (0) 2016.06.24
Todo List  (0) 2016.06.24
갈수록 시간복잡도가 중요해지네  (0) 2016.06.18
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,


Codility에서  Dynamic Programming 문제를 푸는 도중,

set 이라는 것을 무심코 넘겼다가 피 보는 일이 생겼다.

set {-1, 1} 이면 한 집합이고, 이 안에 들어 있는 원소를 임의로 사용할 수 있는 것인데,

나는 이 집합이 배열의 일부이고, {-1. 1}이 반복되는 배열이라 내가 건드릴 수 없는 영역이라 판단했다.


또한 식을 살펴보면 배열의 모든 원소를 더하는 소스인데도 일부만 더할 수 있다고 마음대로 판단해 버렸다.

문제가 무엇인지 제대로 파악하는 능력, 모의고사같은 실력을 평가하는 영어 실력 뿐만이 아닌 실용적인 영어 실력(set=집합 등)을

기를 필요성이 있어 보인다.


많이 풀어보도록 하자.

일단 짠 소스는 아까우니까 올려두도록 하겠다.


임의의 길이의 vector<int> A가 주어질 때, 이 배열에 {-1. 1. -1, 1...} 을 곱하고,

부분합의 절댓값의 최소값을 구하는 소스는 다음과 같다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <math.h>
 
int solution(vector<int> &A) {
    if (A.size() == 0return 0;
    vector<int> psum;
    psum.push_back(0);
    int sum = 0;
    for (int i = 0; i<A.size(); i++) {
        sum += A[i] * ((i % 2) ? -1 : 1);
        psum.push_back(sum);
    }
 
    int minSum = abs(psum[1]);
    for (int i = 2; i <= A.size(); i++) {
        for (int j = 0; j < i; j++) {
            if (minSum > abs(psum[i] - psum[j])) minSum = abs(psum[i] - psum[j]);
        }
    }
    return minSum;
}
cs


'잡담' 카테고리의 다른 글

ESTSOFT 코딩테스트 합격  (1) 2016.06.29
ESTSOFT 코딩테스트 후기  (19) 2016.06.27
Todo List  (0) 2016.06.24
갈수록 시간복잡도가 중요해지네  (0) 2016.06.18
학교 다니면서 다 한다는게 힘들긴 하구나  (0) 2016.06.17
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,

Todo List

2016. 6. 24. 09:35

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.



코드를 엄청 간단하게 짤려고 그냥 막 for문같은거 남발하면 시간복잡도가 막 O(N**2)가 되어버리고 그런다


으아아 얼른 줄여야지!

'잡담' 카테고리의 다른 글

문제파악과 영어능력은 중요하다  (0) 2016.06.24
Todo List  (0) 2016.06.24
학교 다니면서 다 한다는게 힘들긴 하구나  (0) 2016.06.17
알고리즘이 생각했던 것보다 중요하구나  (0) 2016.06.07
Todo List  (0) 2016.06.07
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,


여러 일이 엄청 겹쳐버리니까 시간이 너무 부족하다.


학교에서 듣는 수업시간을 전부 자습시간으로 바꿔버리면 충분할 시간일 텐데...

'잡담' 카테고리의 다른 글

Todo List  (0) 2016.06.24
갈수록 시간복잡도가 중요해지네  (0) 2016.06.18
알고리즘이 생각했던 것보다 중요하구나  (0) 2016.06.07
Todo List  (0) 2016.06.07
생각보다 MITM을 만드는게 힘들다  (0) 2016.06.06
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,



예전에 공부했던 algospot.com에서

'프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략'책에서 나온 예제를 직접 짜보면서 실습하고 있는데,

내가 대충 짜서 돌리는 코드들은 속도도 느리고 정확하지도 않은 엄청 불안정한 코드인데 반해

예제로 나온 코드들은 엄청 정확하고 원리를 공부하니까 탄성까지 나올 정도로 잘 짜여 있다.


BoB에서 했던 프로젝트에서 코드를 짜는데 엄청 시간이 걸렸는데도 코드가 제대로 안 돌아갔던게 이해가 된다.

이것도 제대로 공부하기 시작하니까 재밌다.


하, 요즘 하고 싶은게 계속 늘어나서 문제다.

고3이라 시간도 한정되어 있는데, 큰일이네.



(그건 그렇고 PICNIC 문제는 왜 안풀리는 걸까... 예제 테스트는 잘 되는데...)

'잡담' 카테고리의 다른 글

갈수록 시간복잡도가 중요해지네  (0) 2016.06.18
학교 다니면서 다 한다는게 힘들긴 하구나  (0) 2016.06.17
Todo List  (0) 2016.06.07
생각보다 MITM을 만드는게 힘들다  (0) 2016.06.06
MongoDB를 설치해봤다  (0) 2016.05.31
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,

Todo List

2016. 6. 7. 09:45

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.



libtins로 DEST IP 주소가 Victim인 패킷 또는 SRC IP가 Victim인 패킷을 잡아서

각각의 EthernetII의 MAC Address를 변조해서 보내주면 된다는 건 아는데, 실제로 그렇게 하니까 이상하게 제대로 작동하지 않았다.

뭐가 문제인 걸까...

'잡담' 카테고리의 다른 글

알고리즘이 생각했던 것보다 중요하구나  (0) 2016.06.07
Todo List  (0) 2016.06.07
MongoDB를 설치해봤다  (0) 2016.05.31
Go Lang을 공부해야겠다  (0) 2016.05.30
icrawler 쓰기 넘나 편하다  (0) 2016.05.27
블로그 이미지

__미니__

E-mail : skyclad0x7b7@gmail.com 나와 계약해서 슈퍼 하-카가 되어 주지 않을래?

,