Language/C C++ 10

[2021 ICPC Korea] I. Sport Climbing Combined - 풀이 x

https://www.acmicpc.net/problem/23246 23246번: Sport Climbing Combined 입력은 표준입력을 사용한다. 첫째 줄에 선수의 명수를 나타내는 양의 정수 $n$ ($3 \le n \le 100$)이 주어진다. 이어 $n$개의 줄 각각에 네 정수 $b_i$, $p_i$, $q_i$, $r_i$가 주어지는데, $b_i$는 $i$번째 선수 www.acmicpc.net 문제 해석 선수 n명의 등번호, 세 종목에서 거둔 순위 제공. 세 순위를 모두 곱하여 숫자가 낮은 선수가 종합 순위에서 우위 -> 금, 은, 동메달을 받을 선수를 결정하는 프로그램 작성 * 예외처리 1. 두 선수의 곱한 점수가 같을 경우 : 세 종목 순위의 합산 점수가 낮은 선수가 이김 2. 두 선수의..

Language/C C++ 2022.09.26

[cpp] auto형 변수

auto 키워드는 선언 지정자입니다. 그러나 C++ 표준에는 이 키워드의 원래 의미와 수정된 의미가 정의되어 있습니다. Visual C++ 2010 전까지 auto 키워드에서는 자동 저장소 클래스에 있는 변수, 즉 지역 변수를 선언합니다. Visual C++ 2010부터 auto 키워드에서는 선언의 초기화 식에서 형식이 추론되는 변수를 선언합니다. 출처: MSDN https://m.blog.naver.com/kyed203/220068115571

Language/C C++ 2021.06.23

[cpp] namespace란?

네임스페이스(namespace)란? 내부 식별자에 사용될 수 있는 유효 범위를 제공하는 선언적 영역을 의미한다. c++에서는 변수, 함수, 구조체, 클래스 등을 서로 구분하기 위해서 이름을 사용한 다양한 내부 식별자를 가지고 있음. but, 프로그램이 복잡해지고 여러 라이브러리가 포함될수록 내부 식별자간의 충돌할 가능성도 커짐. 이를 c++에서는 네임스페이스로 해결하고 있음. 출처 : http://tcpschool.com/cpp/cpp_scope_namespace 대표적인 사용 비교 코드를 아래에 넣겠다. #include using namespace std; int main() { cout

Language/C C++ 2021.06.23

[C언어] 사용자 정의 자료형

구조체구조체 선언과 멤버 사용 구조체는 struct 예약어로 선언한다. 구조체_변수명.멤버명구조체 변수의 크기컴파일러는 구조치 멤버의 크기가 들쑥날쑥한 경우 멤버 사이에 패딩 바이트를 넣어 멤버들을 가지런하게 정렬한다. 이를 바이트 얼라인먼트라고 한다. struct student { int num; double grade; } +) 패딩바이트를 줄여보자struct student { char ch1; short num; char ch2; int score; double grade; char ch3; } 위와 같은 경우 패딩 바이트가 너무 많이 차지되었다.struct student { char ch1; char ch2; short num int score; double grade; char ch3; }와 같..

Language/C C++ 2021.02.05

[C언어] 배열과 포인터

배열과 포인터의 관계 luvquantum91.tistory.com/6 [C 자료구조] 배열이란 배열을 구성하는 것은 5가지가 있다. 배열의 이름, 배열의 크기, 배열에 들어가는 요소의 타입, 배열에 들어가는 요소인 데이터, 요소를 가르키는 인덱스가 있다. int grade[3] 과 같이 배열을 선언 luvquantum91.tistory.com 배열에 관한 자세한 자료는 위의 포스팅을 참고하길 바란다. 배열명으로 배열 요소 사용하기

Language/C C++ 2021.02.05

[C] Pointer 개념정리

포인터의 기본 개념 포인터는 변수의 주소값을 받아서 사용한다. 입력받을때 버퍼 메모리를 굳이 거치지 않고 직접 해당 변수로 접근하도록 한다. 메모리의 저장방식 PC에서 저장공간은 Ram memory와 Hard Disk Drive가 있다. 줄여서 RAM과 HDD라 칭하겠다. 둘의 기본 구조는 같고 단기 기억 장치(휘발성) 이나 장기 기억 장치(비휘발성)으로 나뉘는데 자세한건 컴퓨터 아키텍처 정리에서 다루기로 하고 C언어에서 메모리는 RAM에 할당된다는 것을 알아두면 된다. RAM의 데이터 저장 구조는 다음과 같다. ←1byte 한줄에 8칸인 저장 구조가 아래로 쭉 나열되어있는 것이다. 위에서 표시한 10칸보다 훨씬 많을 것이다. 한줄에 8칸이 할당되어 있으니 1byte가 기록될 수 있는 셈이다. 아래 설명..

Language/C C++ 2021.02.03

[C 자료구조] 배열이란

배열을 구성하는 것은 5가지가 있다. 배열의 이름, 배열의 크기, 배열에 들어가는 요소의 타입, 배열에 들어가는 요소인 데이터, 요소를 가르키는 인덱스가 있다. int grade[3] 과 같이 배열을 선언하면 정수형 데이터 3개가 저장 될 수 있는 공간이 할당된다. 정수형 데이터는 4바이트를 차지하므로 주소값 4씩 끊어 인덱싱이 되는데 grade[0]과 같이 0부터 인덱싱 된다. 값을 저장할땐 인덱스를 이용해서 저장하는데 grade[0] = 90과 같이 저장하면 미리 할당받은 공간에 데이터를 저장하게 된다.

Language/C C++ 2021.01.20

[C 자료구조] 배열 기반의 리스트 구현 하나로 묶기

배열 기반의 리스트는 생성은 쉬우나 배열의 길이를 처음에 정해야 하기 때문에 크기 변경이 불가능하다는 단점이 있다. ListMain.c #include #include "ArrayList.h" int main(void) { List list; int data; ListInit(&list); LInsert(&list, 11); LInsert(&list, 11); LInsert(&list, 22); LInsert(&list, 22); LInsert(&list, 33); printf("현재 데이터의 수 : %d \n", LCount(&list)); if (LFirst(&list, &data)) { printf("%d ", data); while (LNext(&list, &data)) { printf("%d "..

Language/C C++ 2021.01.19