본문 바로가기
728x90

전체 글654

동치 알고리즘 #include #include #define MAX_SIZE 24 #define IS_FULL(ptr) (!(ptr)) #define FALSE 0 #define TRUE 1 struct node { int data; struct node* link; }; int main(void) { short int out[MAX_SIZE]; struct node* seq[MAX_SIZE], * x, * y, * top; int i, j, n; printf("Enter the size( 2022. 10. 20.
4장 - 이중 연결 리스트 지금까지의 연결 리스트는 한 노드에 링크가 하나였다. 이중 연결 리스트는 이전 노드, 다음 노드를 가리키는 링크가 각각 하나씩, 링크가 총 두개인 노드로 이루어져 있다. struct node { struct node* llink; int data; struct node* rlink; }; 물론 이중 연결 리스트도 체인형, 원형 둘 다 구현 가능하다 원형 이중 연결 리스트에 노드 추가 void dinsert(struct node* node, struct node* newnode) { //newnode를 node의 오른쪽에 추가 newnode->llink = node; newnode->rlink = node->rlink; node->rlink->llink = newnode; node->rlink = newn.. 2022. 10. 20.
인스턴트 오챠즈케 리뷰 아침밥으로 항상 마땅한게 없어서 오챠즈케 말아먹고 가면 딱이라는 바이럴을 보고 바로 쿠팡에서 구매. 하루이틀 기다렸더니 배송이 옴 ㅍ 이렇게 컴팩트한 상자에 꽊꽊 들어맞게 옴 대략 앞면 뭔말이여 한봉지 안에 4가지 맛이 2개씩 총 8개 들어있음 야무지다~ 만들어먹기에 앞서 설명서를 보자. 다음에 보자. 명예 니혼진 친구들이 알려줬는데(민짱 and 모짱) 밥 100그람에 물 150ml 넣어서 먹으면 된다고 함 우선 밥부터 퍼줌. 음식은 계량이 생명이다. 단 1그램도 용납할 수 없다 그다음에 대략 이걸 뜯어넣어준다 뭔가 상큼한 냄새가 나는 붕어밥이 들어있다 그다음 물도 부어줌 (100그람 넣는건줄알고 백그람 넣고 먹었는데 너무 짜서 보니까 150그람 넣는거였음;;) 음~ 야무디다 맛은? 짠 미역국에 밥말아먹.. 2022. 10. 20.
추가적인 리스트 연산 추가적인 리스트 연산들 chain의 방향을 반대로 변경: invert() 두 개의 chain을 통합: concatenate() 원형 리스트에 대한 연산 수행 시, 마지막 노드에 접근하기가 어렵다. 이를 해결하기 위해 원형 리스트의 이름은 마지막 노드를 가리키도록 하자. invert() struct node * invert(struct node* lead) {//lead가 가리키는 리스트의 방향을 반대로 변경한다. struct node* middle, * tail; middle = NULL; while (lead) { //lead가 널이 아닐떄까지 tail = middle; middle = lead; lead = lead->link; middle->link = tail; //middle의 링크를 반대로 바.. 2022. 10. 20.
Analog Transmission 이번 시간에는 Digital data 를 Analog signal로 변환하는 방법에 대해 알아보자. Digital Data to Analog Signal 무선 통신에 주로 사용한다 (Wi-Fi, Zigbee, LTE , NR , etc.) Bitrate and Baud Rate Bit rate = N : 초당 비트 수 (bps) Baud rate = S(보오 레이트): 초당 Signal element의 수 baud rate is less than (or equal) to the bit rate 보오 레이트는 비트 레이트보다 작거나 같다 r : 하나의 signal symbol이 전송하는 bit 양. r = bit / signal symbol S = N / r 예시) 아날로그 시그날이 4bit per sig.. 2022. 10. 19.
자취생의 밥상 김치찌개편 사실 자취를 하는건 아닌데~ 밥을 매일 혼자 해먹어서 자취생이라 적어봄 얼마 전부터 김치찌개가 너무 먹고싶었다... 김치찌개를 파는곳도 없고 같이먹을 사람도 없는데.. 그냥 내가 해먹기로 함. 지금 김치찌개 만드는법 배워두면 두고두고 써먹겠지 우선 장을 좀 봐왔다 찌개용 돼지고기 뒷다리 400g 5990원 케찹 2790원 타바스코 소스 5990원 찌개용 두부 1100원 치킨너겟 1kg 8990원 우리집에서 케찹 없이 산지 대략 3년정도 된듯한데 그냥 오랜만에 케찹 먹어보고싶어서 한번 사봤다. 그리고 타바스코 소스는 사람들이 맛있다길래 한번 사봄~ 그리고 김치찌개용 두부랑 돼지고기 사고 치킨너겟도 오랜만에 한번 사봄.. 우선 쌀뜨물에 돼지고기를 넣어서 푹~ 익힌다 백종원 유튜브 보니까 오래끓이면 오래끓일수.. 2022. 10. 19.
gdb 디버거 gdb 주요기능 정지점(breakpoint)설정 한 줄씩 실행 변수 접근 및 수정 함수 탐색 추적 gdb를 사용하기 위해 컴파일 시 -g옵션을 사용해야 함. $ gcc -g -o longest longest.c gdb 실행 $ gdb [실행파일] (소스 파일이 아닌 ./a.out 같은 실행파일 이어야함!) gdb 기능 소스보기: l(list) b [n]: n번 줄에 정지점을 설정 p [변수명]: 해당 변수 값 프린트 run : 현재의 인수를 사용하여 프로그램을 실행 run : 새로운 를 가지고 프로그램을 실행 continue: 현재 위치에서 프로그램을 계속 실행(약자 c) n: 한 줄씩 실행시킴(next) step: 한 줄씩 실행시킴. 함수 포함시 함수 내부로 들어가서 한 줄씩 실행함 break : 라인.. 2022. 10. 14.
아두이노와 기타등등 알아보기 펌웨어: 하드웨어의 제어와 구동을 담당하는 운영체제 아두이노 ATmega328 마이크로컨트롤러 input voltage: 7~12V 14개의 Digital IO Pins(0~13번까지 총 14개, PWM지원 핀은 3,5,6,9,10,11) 6개의 analog pins(A0~A5) 32KB 플래시메모리 13번핀 LED, Power LED 존재 전압: 전위가 높은 쪽과 낮은 쪽의 차이. 1쿨롱의 전하가 갖고있는 에너지 전류: 1초당 1쿨롱의 전하가 단위 면적을 통과했을 떄를 1A로 정의. 전하의 흐름 저항: 전류의 흐름을 방해하는 정도 브레드보드: 2.시리얼 통신 UART(Universal Asynchronous Receiver/Transmitter) 병렬 데이터를 직렬 방식으로 전환하여 데이터를 전송하는 .. 2022. 10. 14.
4장 - 연결리스트를 이용한 스택과 큐 배열과 연결 리스트의 비교 저장 방식의 차이 배열: 메모리의 인접한 곳에 저장 연결 리스트: 각 노드들은 메모리의 여러 곳에 나누어 저장되고, link포인터를 이용하여 다음 노드의 주소를 기억함 메모리 사용 측면 저장될 데이터의 수를 안다면 배열이 효과적.(연결 리스트는 data 뿐 아니라 link포인터가 필요) 데이터 수를 모를 경우, 새로 데이터가 입력될 때마다 malloc 실행 후 연결하면 되는 연결 리스트가 유리함. 정렬된 데이터의 유지 배열: 데이터가 추가될 때 기존 데이터의 위치를 변경해야 할 수 있음, 이진 검색 가능 연결 리스트: 데이터가 추가되더라도 기존 데이터의 위치 변경은 발생하지 않음. 이진 검색 불가능 배열을 이용한 스택과 큐의 구현 방법의 문제점으로 메모리 낭비, stack fu.. 2022. 10. 14.
Digital TransMission(2) - Ananlog data to digital data conversion 저번 시간에는 Line coding: digital data -> digital signal 변환 방법을 배웠다. 이번시간에 배울 내용은 analog data -> digital data 변환 방법이다. PCM (Pulse Code Modulation) 아날로그 데이터를 디지털 데이터로 바꾸는 방법 PCM은 3단계로 나타낼 수 있다. 1. Sampling 2. Quantization 3. Binary encoding 아날로그 데이터의 특징 두가지가 있는데, PCM의 step을 따라가면 이 특징들을 디지털데이터의 특징으로 바꿀 수 있다 1. 연속적인 값을 가짐 2022. 10. 12.
함지산 등산의 추억(순대국밥) 날씨 좋은 가을날. 이럴 땐 등산을 가보자. 하늘에 웬 거미가..;; 요즘 거미가 정말 많이 보인다. 대왕거미들 너무 무서워잉~ 산 입구에 들어서면 이렇게 운암지가 보인다. 물에 자라가 있다. 오늘은 운수가 좋으려나 열심히 등산하는중... 경치 좋고~ 저 멀리 대구공항도 보인다 나는 우리동네랑 대구공항이랑 정말 멀다고 생각했는데 이렇게 한눈에 보일정도라는게 너무너무너무 신기했다. -하산- 집가는길에 순대국밥 먹음.. 진짜 말이필요없는 꿀맛 하루의 반은 웃자~ 복돼지 2022. 10. 11.
투썸플레이스 오레오 아이스박스 만들기 레시피 투썸가면 시켜먹는 국룰 디저트 오레오 아이스박스... 참 맛난 음식이지만 나같은 거렁뱅이는 맘놓고 사먹기 힘들것이다. 한번 직접 만들어 보자. 재료: 오레오 200g(마트에 파는거 2개) 생크림 100그램정도 설탕 세숟갈 크림치즈 100그램정도 난 집에 생크림이랑 크림치즈가 있어서 만들긴 했는데.. 이걸 홈플러스에서 다 사서 만들려면 꽤나 비쌀것같다.. 사실 홈베이킹의 의의는 돈 절약이 아니다 내 정성을 담을 객체를 생성하는것이다~ 오레오 선수입장. 홈플러스 갔더니 하나에 천원에 팔아서 총 2천원에 사왔다. 초코맛이 들어가면 더 맛있지 않을까? 하는 생각에 하나는 초코맛으로 사봤다. 우선 크림치즈를 푼 다음 오레오의 크림을 싹 긁어내서 다 투하한다. 다 넣었으면 생크림이랑 설탕 넣고 겁나 저어줌. 단단해.. 2022. 10. 11.
아이폰14 프로 딥 퍼플 실물 구경하기 친구가 아이폰14프로를 샀다는데~ 나도 새폰 보고싶어서 구경시켜달라고 함. 딥퍼플 의외로 고급지고 예쁜 색이다 보라색이 많이 안나는거같은데 그렇다고 보라색이 없는건 또 아닌 오묘한 색임 앞면 ㅎㄷㄷ 화면을 켜자마자 다이나믹 아일랜드가 띠링 하면서 잠겨있다는걸 표시해줌 너무 신기하고~ 뭔가 표시할 게 있으면 저기 알약이 넓어지면서 저 알약 안에 정보가 표시되는데~ 너무 간지잖아~ 부럽다~ 난 돈없어서 아이폰15나올때 생각해봐야겠다. -끝- 2022. 10. 11.
make 시스템 대규모 프로그램의 경우에는 헤더, 소스파일, 목적파일, 실행파일의 모든 관계를 기억하고 체계적으로 관리하는것이 필요함. make 시스템을 이용하여 효과적으로 작업. Makefile의 구성 형식 대상리스트: 의존리스트 (tab)명령리스트 예시) main: main.o copy.o gcc -o main main.o copy.o main.o: main.c copy.h gcc -c main.c copy.o: copy.c copy.h gcc -c copy.c make 실행 $ make 혹은 $ make main 여기서부터 다시 씀 파일이 많아지면 컴파일 하는데 시간도 오래걸리고, 파일 관리하기가 힘들어지는데, make 시스템을 이용하면 파일관리, 컴파일을 효과적으로 할 수 있다. $ vi Makefile 해서 m.. 2022. 10. 11.
객체와 클래스 생성자 생성자가 선언되지 않은 경우에는 기본 생성자를 컴파일러가 자동으로 만들어 줌. (하나라도 생성자가 선언된 경우는 기본생성자가 생기지않음) this 클래스 내에서 메소드 작성할 때 인자로 받는 변수이름과 클래스 멤버변수의 변수명이 같을 때 멤버변수를 this.변수명 으로 써서 구별함. 소멸자 자바에서는 가비지컬렉터가 있어 소멸자가 없음 this() 같은 클래스 내의 다른 생성자 호출 class Box{ int width; int height; int depth; public Box(){ width=1; height=1; depth=1; } public Box(int w){ width = w; height =1; depth = 1;} public Box(int w, int h, int d){ widt.. 2022. 10. 11.
4-2 LED 저번시간에 FND 하나짜리를 컨트롤했었다. 이번에는 4개짜리 FND를 컨트롤 해보자. 1개짜리 FND는 9개 핀, 74595 IC를 이용했을 때 5개의 핀이 필요하다. 이번엔 4개짜리니까 36개 혹은 20개가 필요할까? 그건 아니다~ 4개의 digit이 있는데, 한 번에 하나의 digit만 불을 켤 것이다. 1번digit 켰다가 끄고 2번digit 켰다가 끄고 . ... 4번digit 켰다가 끄는 과정을 매우 빠르게 반복하면 인간의 눈으로는 1,2,3,4번 digit이 모두 켜져있는것 처럼 보인다.(잔상효과 때문) 4digit FND를 사용하여 0000, 1111, 2222 . . .9999 출력하기. LED A~G를 2~9번 핀에 연결한다.(330옴 저항과 함께 연결한다) 그리고 몇 번째 digit을 .. 2022. 10. 10.
3장 클래스,캡슐화, 다형성 class는 데이터 + 메소드의 수행까지 포함됨 main() 메소드는 JAP에 반드시 있어야 하는 특수한 메소드. 프로그램 실행 시 자동으로 실행되는 메소드. main()메소드는 String의 array를 argument로 받는다 (명령행 매개변수) args[0] 요런식 (String이기때문에 필요 시 변환해야함. ex: Integer.parseInt(args[0])) 캡슐화 Object를 작성할 때 숨겨야 하는 정보(private)와 공개해야 하는 정보(public)를 구분하여 작성. Object의 사용자는 기능만 알고 사용하며 어떻게 처리되는지는 은폐된다 (캡슐화) 캡슐화의 장점: object에 포함된 정보의 손상과 오용을 막을 수 있다. object 조작 방법이 바뀌어도 사용 방법은 바뀌지 않는다... 2022. 10. 9.
더포 (베트남음식),와플대학 오랜만에 저녁약속을 잡았는데 뭘 먹을까 고민하다가 평소에 잘 안먹는 동남아음식을 먹으러 감~ 칠곡3지구에있는 더포. 베트남음식점이라고 함. 우리는 4명이서 4인세트메뉴A를 시켰음. (식사메뉴4개 + 요리1개 선택) 48000원 우리는 팟타이+ 볶음밥3개 + 라우가? 인가 뭔가 시킴(탕수육같은건데 이게 제일 인기 많다고 함) 라우가? 꿔바로우같은거 나왔다. 맛도 꿔바로우랑 비슷한데 꿔바로우 맛은 아니고 좀 담백하다고할까 맛있다. 세트메뉴로 먹으면 이게 대략 8천원정도인건데 나쁘지않다. 돼지고기 튀김이니까 이거 시켜드셈~ 옛날에 짜조 먹어본적 있는데 그것도 맛있음. 그건 메밀전병 느낌 인당 쌀국수국물 하나씩 주셨다. 국물이 진짜 맛있음~ 갈비탕국물같은데 진짜 밥말아먹고싶은 맛임. 이건 내가시킨 팟타이다. 좀.. 2022. 10. 9.
4장 - List 배열을 이용한 순서화 리스트: 임의의 위치에 대한 삽입과 삭제 연산이 곤란. 가변 길이의 순서화 리스트 지원 불가. 연결 리스트를 이용한 순서화 리스트: 리스트는 노드들로 구성, 각 노드는 데이터와 링크로 구성됨. 링크는 리스트의 다음 노드를 가리킴. (마지막 노드의 링크는 NULL) 단일 연결 리스트(Singly Linked Lists) 각 노드들은 메모리의 인접한 곳에 위치하지 않는다. 각 노드의 주소는 프로그램 실행시 매번 다를 수 있다. 리스트의 이름 = 첫 번째 노드의 주소가 된다. 배열에 비해) 삽입과 삭제시 기존 노드들의 위치를 변경할 필요가 없다 배열에 비해) 링크 필드를 위한 추가적인 메모리 공간이 필요하다 연결 리스트의 구현(C) struct node{ int data; struct n.. 2022. 10. 9.
3장 - C프로그래밍 환경 문서 편집: vi편집기 vi의 동작모드 명령모드: (ESC,ENTER) 커서이동,페이지이동,글자삭제,줄 삭제 등 입력모드: i,I,a,A,o,O 마지막행 모드: (/,?,:) 검색, 저장, 바꾸기,줄 이동 등 저장 및 종료명령 :w [파일명] : 저장, 파일명을 지정할 시 지정한 파일명으로 저장 :q! 저장하지 않고 종료 :wq! 저장하고 종료 ZZ 저장하고 종료 내용 삭제 및 취소 x 문자삭제 D 커서 위치부터 줄 끝까지 삭제 u 방금 수행한 명령 취소 dd 현재 줄 잘라내기 복사, 잘라내기, 붙이기 yy 현재 행 복사 p 붙여넣기 범위지정 방법 % 모든 줄 1,$ 첫 줄에서 마지막 줄까지 .,$ 현재 줄에서 마지막 줄까지 10,20 뭐 요런식.. 검색 기능 /문자열 : 현재 위치부터 파일의 아래 방향.. 2022. 10. 7.
728x90