전체 글

· C++
1. setprecision() 부동 소수점 숫자를 출력할 때 std::cout의 기본 정밀도는 6이다. 그러나 헤더파일에 정의된 std::setprecision() 함수를 사용해서 cout에서 출력되는 기본 정밀도를 재정의할 수 있다. 아래 코드는 정밀도를 16자리로 설정하는 코드이다. #include #include using namespace std; int main() { cout
· C++
C언어에서는 성능이 가장 중요했기 때문에 컴파일러가 대상 컴퓨터 아키텍처에서 가장 잘 작동하는 int의 크기를 선택할 수 있도록 의도적으로 정수의 크기를 열어두었다. 크로스 플랫폼을 위해 C99에서는 모든 아키텍처에서 같은 크기를 갖도록 보장하는 고정 너비 정수를 정의했다. C++ 에서는 이런 고정 너비 변수를 C++ 11의 일부로 채택했다. 아래 코드와 같이 cstdint 헤더를 선언하여 사용할 수 있다. #include #include using namespace std; int main(){ int16_t a(5); cout
· C++
C++ 에서는 #define을 사용하여 매크로를 만들 수 있다. 매크로는 크게 함수와 유사한 매크로, 객체와 유사한 매크로로 구분 할 수 있는데 객체와 유사한 매크로를 다시 대체 텍스트가 있는 매크로, 대체 텍스트가 없는 매크로로 구분할 수 있다. // 1. 함수와 유사한 매크로 #define add(x, y) x+y // 2-1. 대체 텍스트가 있는 객체와 유사한 매크로 #define MAX 9999 // 2-2. 대체 텍스트가 없는 객체와 유사한 매크로 #define PRINT 대체 텍스트가 없는 매크로는 주로 조건부 컴파일을 하기 위해 사용된다. 조건부 컴파일 전처리 지시자를 사용하면 컴파일할 조건이나 컴파일 하지 않을 조건을 지정할 수 있다. #define PRINT #ifdef PRINT std..
· C++
작성하는 모든 함수를 한 소스코드에 선언하고 사용하는 것은 유지보수를 어렵게 한다. 그래서 헤더파일을 직접 생성해 이러한 부담을 줄여줘야 하는데, 두 정수를 더해 리턴하는 add(int x, int y)를 포함하고 있는 헤더파일을 만들고 적용시켜보자 1. 헤더파일 add.h 작성 header guard는 main.h 에서 식별자를 중복으로 사용하는 것을 막기 위한 것으로 ADD_H 가 이미 정의되지 않았을 때 #if 1 ADD_H 가 이미 정의되었을 때 #if 0 이 되면서 중복 사용 문제를 해결한다. **조건부 컴파일 지시자 사용 https://20201215.tistory.com/97 (ifndef : if not defined / ifdef : if defined) // 1. header guard..
· PS
[18662] https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&problemLevel=3&problemLevel=4&contestProbId=AYo-e9EKmGoDFAQI&categoryId=AYo-e9EKmGoDFAQI&categoryType=CODE&problemTitle=%EB%93%B1%EC%B0%A8&orderBy=RECOMMEND_COUNT&selectCodeLang=ALL&select-1=4&pageSize=10&pageIndex=1&problemLevel=2%2C3%2C4&&&&&&&&& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swe..
· PS
1206. https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [코드] #include int max3(int a, int b, int c) { if (a > b && a > c)return a; else if (b > a && b > c) return b; else return c; } int max4(int a, int b, int c, int d) { if (a >= b && a >= c && a >= d)return a; else if (b ..
· PS
2071. https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [코드] #include #include int main() { int T; scanf("%d", &T); for (int t = 0; t < T; t++) { int sum = 0; int a; for (int i = 0; i < 10; i++) { scanf("%d", &a); sum += a; } float avg = (float)sum / 10; printf("#%d %0.f\n", t+1, round(avg)); } }
역전파 알고리즘을 구현하고, 이 것을 이용해서, 16*16 크기의 자신의 필기체 알파벳(소문자 t, u, v, w, x, y, z 7글자만 처리함) 을 구분하도록 한다. 입력은 학습시키지 않은 테스트용 이미지 20 세트이고, 학습은 필요한 만큼 만들어서 하면 된다. (C언어는 표준 함수 이외의 어떤 것도 사용하지 않고 구현한다.)
· PS
2217. 문제 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다. 각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 이용하여 들어올릴 수 있는 물체의 최대 중량을 구해내는 프로그램을 작성하시오. 모든 로프를 사용해야 할 필요는 없으며, 임의로 몇 개의 로프를 골라서 사용해도 된다. 입력 첫째 줄에 정수 N이 주어진다. 다음 N개의 줄에는 각 로프..
20240619
kugnuoy