본문 바로가기

전체 글153

백준 7568 - 덩치 c언어 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 1. 문제 조건을 헷갈리기 쉬운 문제이다. 덩치가 되는 조건을 생각했을 떄 몸무게가 키가 같을 경우는 덩치를 판단할수 없는 조건이된다. 나의 답안) #include intmain() { intn, i, j, rank; intweight[50] = {0}; inttall[50] = {0}; scanf("%d\n", &n); i = 0; while (i < n) { scanf("%d %d.. 2023. 1. 5.
백준 2231 c언어 -분해합 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 간단한 프루트포스 알고리즘 문제이다 1. 문제에서 주어지는 숫자로 생성자를 찾는 규칙이 없을까 생각해봤는데 없었다. 2. 생성자가 있을수도 있고 없을수도 있을뿐더러 생성자중에서 가장작은것을 출력하라고 했기 떄문이다. 3. 따라서 전략을 최소 숫자인 1부터 각자리수와 합하여 주어진 숫자와 비교해서 답을 찾는 방법을 선택했다. 나의 답안) #include int main(.. 2023. 1. 5.
virtual box Linux 명령어 1. uname -a • 시스템 정보를 출력 ( -a 는 옵션 -p 를 제외하고 uname 의 모든 옵션에 해당하는걸 출력하라는 옵션) 2. nproc • User당 사용할 수 있는 프로세스 최대 개수 출력 3. free • free 명령어를 사용하면 쉽게 메모리 사용량과 여유량 그리고 캐싱으로 사용되는 메모리가 얼마나 있는지 파악 • [-b | -k | -m | -g] : 바이트, 키비바이트, 메비바이트, 기비바이트 단위로 출력 4. df • 리눅스 시스템 전체의 (마운트 된) 디스크 사용량 을 확인 • -h : 이 옵션은 보기편한 용량크기로 보여준다.(GB,MB 등등) 5. top • 시스템의 상태를 전반적으로 가장 빠르게 파악 가능(CPU, Memory, Process) • 옵션 없이 입력하면 in.. 2023. 1. 2.
백준 2798 블랙잭 (C언어) https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 나의 답안) #include intmain(void) { intN,M; intcard[100] = { 0 }; intmax, result = 0; scanf("%d %d", &N, &M); for(int i = 0; i < N; i++) scanf("%d", &card[i]); for(int i = 0; i < N; i++) { for(int j = i + 1; j.. 2023. 1. 1.
최대 fd 개수 확인 명령어 getconf OPEN_MAX 위 명령어를 사용시 최대 컴퓨터가 open할수 있는 fd(파일디스크립트) 개수가 나온다 2023. 1. 1.
3.3 데이터 형식 // ' . ' 으로 시작하는 모든 라인은 어셈블러와 링커에 지시하기 위한 directive들이다. C declaration Intel data type Assembly-code suffix Size(bytes) char Byte b 1 short Word w 2 int Double word l 4 long Quad word q 8 char* Quad word q 8 float Single precision s 4 double Double precision l 8 데이터 이동 인스트럭션 1. movb(바이트 이동) --> char 의미 2. movw(워드 이동) --> short 의미 3. movl(더블워드 이동) --> int 의미 4. movq(쿼드워드 이동) --> char* 의미 2022. 12. 31.
3.2.1 프로그램 메모리구성 1. 프로그램의 실행 기계어 코드 2. 운영체제를 위한 일부 정보 3. 프로시저 호출과 리턴을 관리하는 런타임 스택 4. 사용자에 의해 할당된( malloc 사용) 메모리 블록들 등등... /* gcc -Og -S test.c 위의 명령어는 c컴파일러가 생성한 어셈블리 코드를 보기 위한 명령어 (-S) */ 2022. 12. 31.
3장 기계어 코드를 배워야 하는 이유 1. 컴파일러의 최적화 성능을 알수 있다. 2. 코드에 내재된 비효율성을 분석할수 있다. 3. 고급 언어에서 제공하는 추상화 계층 때문에 이해가 필요한 프로그램의 런타임 동작이 감춰지는 경우도 있다 4. 악성프로그램이 시스템을 감염시킬 때 어디서 취약점이 발생했는지 알수 있다. // 현재 어셈블리어로 직접 프로그램을 작성할 필요는 없고 이해하고 읽을 수 있는 정도가 되면 된다. 2022. 12. 31.
서머너즈워 플옥계정 json파일 확인방법 /* 계정구매 전에 플옥 확인 방법 계정 들어가서 프로필 --> 배치관리 누르면 소환순서가 나오는데 플옥이면 보통 빛암몬스터가 물마검 앞에 배치되어 있습니다 5성 소환된 이후 빛암몬스터가 배치 되어 있다면 플옥이 아닙니다. */ 서머너즈워 플옥 계정 json파일 확인 방법 1. https://support.bignox.com/ko/win-release/6613 녹스 구버전을 다운로드 받는다 (구버전으로 해야 네트워크 연결 오류가 안뜨더라구요) 2. https://github.com/Xzandro/sw-exporter/releases?page=2 옵티마이저 버전 0.0.31을 다운받습니다. (옵티마이저도 구버전으로 다운로드 받습니다) Summoners-War-Exporter-Setup-0.0.31.win... 2022. 12. 25.
지역변수 vs 전역변수 vs 정적변수 지역 변수 : 1. 함수 안에서만 쓸수 있는 변수 쓰인 함수 밖에서는 쓰지 못한다. 2. stack영역에 저장된다. 전역 변수 : 1.함수 외부에서 선언된 변수 2.프로그램 어디에서나 접근 가능 3. 프로그램이 종료되면 메모리에서 사라짐 4. 메모리상의 데이터 영역에 저장된다. 5. 직접 초기화하지 않아도 0으로 자동 초기화 6. 초기화시 상수로 초기화시킨다 정적변수 : 1. 선언시 static 키워드를 앞에 써준다. 2. 외부에서는 참조할수 없는 정보은닉효과가 있다. 3. 협업시 변수가 의도지 않게 참조되는 것을 막을 수 있다. 4. 지역변수의 특성과 전역 변수의 특성을 합친 변수 5. 특정 함수에서만 사용 가능하면서도 함수가 끝나더라도 값이 유지된다. 6. 초기화시 상수로 초기화시킨다. 7. 직접 초.. 2022. 12. 24.
728x90