알고리즘 76

c++ 3일차

8단계 수학1. 수학문제를 풀면서 사고력을 길러보자,,,, 이런 뜻인줄 몰랐죠,,,, 최대한 수학을 이용해서 빠르고 효율적으로 풀어야만 한다. ಥ_ಥ 백준1712번 (www.acmicpc.net/problem/1712) #include using namespace std; int main() { long a, b, c; cin >> a >> b >> c; if (b >= c) cout > weight; //5x+3y = weight if (weight % 5 == 0) cout = 0; i--) { if ((weight - 5 * i) % 3 == 0) { x = i; y = (weight - 5 * x) / 3; res = x + y; cout

C++ string 사용법

jhnyang.tistory.com/115?category=850633 1,2탄과 blockdmask.tistory.com/338 , en.cppreference.com/w/cpp/string/basic_string 를 참고했습니다. C언어에서는 문자열을 입력받을 때, 문자열의 크기를 모르는 경우가 많았다. (내가 바보여서 그럴 수도 있음 ㅎㅎ ) 그래서 보통 char sentence[100] 이런 식으로 두고 풀었었는데 c++에서는 string이라는 class를 사용하면 편리하게 문자열을 다룰 수 있다. 0. 기본 input ) #include #include //string이라는 헤더파일을 불러온다. using namespace std; int main() { string sentence; // 1 ..

C++ - 2일차 백준 단계별로 풀기 5~7단계

2일차라고 써놓고 한 3일 푼 듯 ^^ㅑㅇ 5단계 배열 c언어를 좀 되새겨보면 배열의 크기를 입력받으려면 미리 배열을 a[1000]으로 설정해놔야한다. 그럼 내가 입력을 5개만 받아도 995개의 기억장소의 낭비가 생긴다. 이를 해결하는 것이 동적할당! 동적할당을 사용하면 배열의 크기를 프로그램 실행시 정해줄 수 있다. calloc보다는 malloc이 손에 익어서 malloc만 쓸 거다. #include // 동적할당을 사용하기 위해 stdlib.h라는 헤더파일이 필요하다. int *a ; // 동적할당의 경우 일차원 배열의 이름 a 는 포인터변수이다. a = malloc(n*sizeof(int)); //int형 n개의 기억장소를 할당 free(a) //메모리 해제 이렇게 네 가지 정도가 바뀌는 듯 하다...

c++ 1일차 백준 단계별로 풀어보기 1~4단계

다음 주 알고리즘 스터디를 준비해야돼서 C++을 공부하려 그랬는데 이자식,,, 생각보다 어렵다. 이름공간이요...? 이런 건 초면인데용.... 심지어 c언어 한 3달 안 썼다고 다 까먹음,,,ㅜㅠ ㄱ그래서 씹어먹는 c++이라는 사이트를 한장한장 뿌수면은 불가능이고 빠르게 한 챕터씩 보면서 바로 백준 단계별 문제풀이를 진행하려고한다. modoocode.com/136 씹어먹는 C++ - modoocode.com std::cout