본문 바로가기
반응형

개발81

[c/c++] main 함수 main 함수는 프로그래밍을 공부하면 처음 만나는 함수이다. main, 이름에서 주는 느낌이 바로 이 함수의 역할이다. main 함수에 대한 내용은 아래 사이트에서 잘 설명해 주고 있다. main 함수 및 프로그램 실행 | Microsoft Learn main 함수 및 프로그램 실행자세한 정보: main 함수 및 프로그램 실행learn.microsoft.com main 함수는 entry point에 기본적으로 설정이 되어 있기 떄문에 처음으로 호출되는 함수가 된다. int main( void ); int main( int argc, char *argv[ ] );보통 이렇게 2가지 경우를 많이 쓰게 되는데, 일반적으로 코딩테스트를 위한 코드를 작성할 때에는 1번째 형태를 많이 쓰고, 작은 프로그램을 만드는.. 2023. 8. 14.
EntryPoint 최근에 bootloader seq를 보면서 공부한 것 중에 하나가 EntryPoint이다. EntryPoint는 진입점으로 번역이 되고, 프로그램이 시작되는 곳을 의미한다. GNU 링커, LD 사용하기 - 명령 언어(Command Language) GNU 링커, LD 사용하기 - 명령 언어(Command Language) Go to the first, previous, next, last section, table of contents. 명령 언어는 링크 프로세스에 대한 명시적인 제어를 제공한다. 링커의 입력 파일들과 출력 사이의 완전한 맵핑 스펙을 지원한다. 이것은 다음 korea.gnu.org 보통 코드를 짤 때, main()에서 시작되어서 main()에서 무조건 시작한다고 생각했다. 그런데 그렇게 .. 2023. 8. 14.
[c/c++] 전처리지시자 전처리지시자는 컴파일 전에 #으로 시작하는 지시자들에 대해서 처리하는 것을 말한다. 내가 주로 쓰는 것들을 아래와 같다. #include #if 1 #else #endif #define haha #ifdef haha #endif#include를 하게 되면 해당하는 header 파일을 가져오게 된다. header를 아예 복사를 해오는 것이다. 그런데 project가 복잡해지거나 하면 header 파일을 여기저기에서 include를 하게 되는데, 그러면 header가 중복되서 컴파일 에러가 날 수 있다!!! (그렇게 사용을 안 해봐서 사실 검색해봤다 ㅎㅎ) 그래서 아래와 같이 header 파일 전/후에 사용한다. #ifndef은 다음에 나오는 단어(_TEST_H_)가 선언되어 있지 않으면 아래 내용을 실행한.. 2023. 8. 10.
내가 사용하는 IDE IDE는 통합 개발 환경으로 integrated development environment의 약자이다. IDE(integrated development environment) 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어 출처: 통합 개발 환경 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 통합 개발 환경 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. Anjuta: 그놈 환경을 위한 C 및 C++ IDE 통합 개발 환경(統合開發環境, integrated development environment, IDE)은 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 ko.wiki.. 2023. 8. 10.
[javascript] 프런트엔드(Front-End) vs 백엔드(Back-End) IT 채용공고를 보면 프런트엔드, 백엔드라는 말을 많이 듣게 된다. 그래서 프런트엔드와 백엔드가 무엇인지 정리하려고 한다. 나는 Front-End와 Back-End에서 모두 사용되는 javascript를 공부하려고 한다. 1타 2피 느낌으로 말이다. Front-End 프론트엔드: 웹과 관련된 사용자가 보는 인터페이스 프론트엔드 개발: 사용자 인터페이스를 개발, 주로 HTML, CSS, javascript 등 사용 Back-End 백엔드: 사용자에게 보이지 않은 내부 서버 및 데이터베이스 백엔드 개발: 사용자가 생성하고 서비스에 필요한 data 관리, 주로 PHP, Node.js, javascript 등 사용 Full stack 풀스택: 프론트엔드와 백엔드 풀스택 개발: 프론트엔드와 백엔드 모두 개발 2021. 9. 26.
[binary search] 1920번, 수 찾기 binary search 문제 중 가장 simple한 문제이지 않을까 싶다. 혹시 binary search에 대해서 잘 모른다면 아래 글을 읽어주시길 바란다. https://77monkey.tistory.com/15 [알고리즘] binary search, 이진탐색 binary serach, 이진탐색에 대해서 설명하고자 한다. 이름에서 나타나듯이 중간값이 찾고자 하는 값보다 큰지 작은지 따져가면서 찾아가는 탐색 알고리즘이다. binary search를 사용하려면, 오름차순으 77monkey.tistory.com 오늘은 문제는 아래와 같다. 문제를 확인했으면 이제 문제를 풀어보자. https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 10.. 2021. 5. 23.
[알고리즘] binary search, 이진탐색 binary serach, 이진탐색에 대해서 설명하고자 한다. 이름에서 나타나듯이 중간값이 찾고자 하는 값보다 큰지 작은지 따져가면서 찾아가는 탐색 알고리즘이다. binary search를 사용하려면, 오름차순으로 정렬되어 input이 들어올 때 가능하다. 혹시나 up down 게임을 안다면 이해하기 쉬울 것이다. 1~100 중에서 하나의 숫자를 생각하고, 상대가 이 숫자를 맞추기 위해서 아무렇게 찍지는 않을 것이다. A가 생각한 숫자가 27이었다면, B는 다음과 같이 말할 것이다. A: 50 ( = (1 + 100) / 2 ) B: down A: 25 ( = (1 + 50) / 2 ) B: up A: 37 ( = (25 + 50) / 2 ) B: down A: 31 ( = (25 + 37) / 2 ) .. 2021. 5. 23.
[bit masking] 11723번, 집합 오늘 소개할 문제는 백준 사이트에 있는 11723번 문제 이다. 문제는 아래 링크를 통해서 확인할 수 있다. https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 문제를 푸는 방법은 다양하지만, 여기에서는 bit masking을 사용해서 풀어보고자 한다. 1. 문제 파악 이전 문제에서 풀었던 [1094번, 막대기]에서 사용한 것을 생각해 보자. 이 문제에서는 2의 거듭제곱수의 값인 {1, 2, 4, 8, 16, 32, ... } 를 사용했다. 2021.05.22 - [코딩/백준 문제].. 2021. 5. 23.
[bit masking] 1094번, 막대기 오늘 소개할 문제는 백준 사이트에 있는 1094번 문제 이다. 문제는 아래 링크를 통해서 확인할 수 있다. https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 이 문제를 푸는 방법은 다양하다. bit masking을 사용하여 1줄 coding을 해보자. 1. 문제 파악 막대기의 길이는 64cm로 고정되어 있다. 막대기를 부러뜨려서 만들 수 있는 길이는 다음과 같다. 64cm, 32cm, 16cm, 8cm, 4cm, 2cm, 1cm 문제에서 나올.. 2021. 5. 22.
반응형