프로그래밍 QnA + 설치 및 활용 QnA + 질문

aubin의 이미지

지뢰찾기의 어느 부분이 NP-C문제인건가요?

학교 알고리즘 과제로 NP-C인 문제를 하나 골라 왜 NP-C문제이고 그 효율?을 계산하는 중인데

지뢰찾기가 NP-C문제라서 주제는 이걸로 선정했습니다. 그래서 왜 NP-C문제인지를 찾는중인데

지뢰를 생성하는 알고리즘은 그냥 랜덤으로 여기저기에 박으면 되니까 이게 NP-C일리는 없을테고

컴퓨터가 푸는게 NP-C가 된다는 얘기인데 좀 찾아보니 리처드 케이란 교수가 지뢰찾기가 NP-C인것을 증명했다고 하더군요.

하지만 어느부분이 NP-C인지는 어느 사이트를 돌아다녀도 나오질 않네요..

영어사이트가 있긴한데 영어가 잼병이라 무슨말인지 모르겠어요..

아시는 분은 설명좀 부탁드립니다.

gumagula의 이미지

검색기 구현시 해싱 키값을 무엇으로 잡는것이 좋을까요?

안녕하세요,

다름이 아니라 부족한 실력으로나마 검색기를 구현하고 있습니다.

제가 하고 있는 작업이 사용자가 학습한 단어가 많이 포함된 신문기사를 리턴해 주는 것인데요,

학습한 단어들은 10~ 100개정도 들어오고, 신문기사는 약 10kb~28kb정도의 크기 이며 A4로는 1장~4장 분량입니다.

이러한 환경에서 검색기 구현을 하는 중인데요, 무식하게 일일이 하나씩 검색하려고 하니 너무 느립니다...

그래서 해싱을 해둔 다음에 이를 인덱싱 하여 검색하는 방법으로 구현하려고 하는데요,

이때 키값을 어떤것으로 잡아야 검색이 빨리 진행 될 수 있을까요?

실무자 혹은 고수분들의 많은 조언 부탁드립니다.

dltkddyd의 이미지

매크로에서 ## 토근(연산자?)이 잘 이해돼지 않습니다.

매크로에서 ## 연산자가 잘 이해돼지 않습니다. 아래 매크로가 있는데,

#define hash_hash # ## #
#define mkstr(a) # a
#define in_between(a) mkstr(a)
#define join(c, d) in_between(c hash_hash d)
char p[] = join(x, y);

여기서 아래 join(x,y)의 결과가 "X ## y"와 같다는데요.

join(x, y)
in_between(x hash_hash y)
in_between(x ## y)
mkstr(x ## y)
"x ## y"

in_between(x hash_hash y)까지는 이해가 됩니다. 그러면 여기서 hash_hash는 매크로 인수도 없는데 어떻게

in_between(x ## y)가 될까요?

in_between(x # ## # y)

가 되어야 하는 것 아닌가요? 저

#define hash_hash # ## #

greathero의 이미지

task 제한시간 체크되는 프로그램 좋은거 아시는 분~?

구글에 검색해보는데 딱히 좋은 프로그램이 검색이 안되네요ㅠㅠ

프로그램에 "업무 이름"을 입력하고 "업무에 걸리는 시간"을 설정해서 쓸 수 있는 프로그램 아시는 분 있나요?

예를 들면, ("프로그램 A 짜기", 제한시간: "50분" 입력)하면 00:50:00 -> 00:00:00으로 시간표시가 되는 것처럼요~

space_dhks의 이미지

비글본블랙 가지고 sd카드 자동으로 마운트 하던 중....발생한 문제..도아주세요 ㅠ.ㅠ

안녕하세요 비글본블랙 완전 초짜인 학생입니다.

비글보드에 SD카드를 마운트 하는 방법까진 완료했습니다.

fdisk -l 로 확인하고
mount /dev/파일명 ./SD 형태로 마운트 했는데요 여기까진 정말 맨땅에 헤딩하면서 완료했습니다.

그리고 부팅시 자동으로 마운트 되는 것을 해보고자 구글링 및 엄청나게 검색을 많이 해보았는데요

다들 /etc/rc.local 파일에 마지막줄에 실행문을 입력하라고하던데..
제껀 runlevel 형식으로 되어 있어서 확인결과 runlevel 로 검색하면 1, who -r로 검색하면 3이 나와서.

어떤걸로 할지 몰라 다시 검색해 보았는데 어떤 분께서 /etc/fstab의 6개의 코드를 수정하면 자동으로 마운트 할수 있다고 하였습니다.

그래서 그대로 따라 해보았고....

당연히 마운트까지 다 되었기에 순조롭게

/dev/마운트파일명 /home/rood/SD auto default 0 0

이렇게 입력하고 재부팅을 하였습니다.

By망이의 이미지

스케줄링 기법 관련해서 질문 드립니다.

제가 엘리베이터 알고리즘을 한번 만들어 보려고 하는데.

엘리베이터를 하나의 스케줄링이라 생각하고,

코딩을 해보려고 합니다.

근데 궁금한점이

스케줄링 기법에서

scan(look) 또는 c-scan(c-look) 기법들이 엘리베이터 알고리즘이라고 불린다고 들었는데,

헤드의 움직임이 엘리베이터 움직임과 비슷해서 엘리베이터 인가요

아니면 정말 엘리베이터에서 사용되고 있기에 엘리베이터 알고리즘 이라 불리우는 건가요?

kiki10184의 이미지

strcpy / wcscpy

strcpy / wcscpy

이 두 명령어의 차이를 가르켜주세요 ㅠ
변환하는작업이 힘들어서

croae의 이미지

select 사용중 blocking 관련 질문 입니다.

결론적으로 말씀 드리면 select() 사용시 blocking이 걸립니다.

하나의 소켓 디스크립터가 종료 되면 그제서야 밀렸던 연결 소켓 디스크립터가 실행 됩니다.

프로그램 흐름은 서버 와 클라이언트 구조 입니다.

1. 역할별 구분
서버 select 호출 -> 클라이언트 디스크립터 (i) 로 http accept -> 새로운 소켓 디스크립터(p)로 클라이언트 connect()후 메시지 전달 send()-> 새로운 소켓 디스크립터(p)를 통해 클라이언트로부터 메시지 수신 recv()
-> 클라이언트 디스크립터(i)로 http redirect -> 클라이언트 디스크립터(i) FD_CLR(i) 및 소켓 디스크립터 close(i) -> Loop

rullrow의 이미지

리눅스 표준에러 방향전환 없이 확인하는 방법

abc라는 바이너리에서 에러의 조건에
fprintf(stderr, "Error: Please check again.\n");

이렇게 에러를 출력하는데요
이 부분을 바꾸지 않고(사정상 표준에러로 출력을 해야합니다.)

abc 바이너리를 실행해서 에러 출력문을 확인할 수 있는 방법이 있을까요?

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 질문 구독하기