728x90

전체 글 281

[C++] UVa-11572 Unique Snowflake

구현 코드 ) #include #include #include using namespace std; #define maxn (int)(le9)+1 int t, n, x, ans, cnt, block; map lastseen; int main() { cin >> t; // 테스트 케이스 개수 입력 while (t--) { cin >> n; // 정수 리스트의 길이 입력 lastseen.clear(); //테스트 케이스가 1개 이상 입력 될 경우 map을 초기화 하여 입력을 받아온다. ans = 0, cnt = 0, block = 0; for (int i = 1; i > x; int lx = lastseen[x]; if (lx != 0) { block = max(block, lx); cnt = i - blo..

[C++] auto 타입 추론

??? 내가 auto를 찾아보게 된 경로가 무엇인가? C++을 사용하여 set을 구현하는 도중 set의 모든 element에 접근하여 이들을 출력하는 for문을 확인하였다. cout 초기화 값에 따라 알아서 데이터 타입을 정해주는 키워드 라고 불린다. => 선언한 변수나 람다 식의 타입을 컴파일러에게 추론하도록 맡긴다. ex) auto a1 = 10; // int 타입 auto a2 = 10.0f; // float 타입 auto a3 = "c"; // char 타입 auto a4 = "BlockDMask"; // string 타입 auto a5 = {10, 20, 30}; //int 배열 타입 단순한 자료형 뿐만 아니라 iterator를 선언하는 데에서도 적용 할 수 있다. #include #includ..

[Linux | C] memset 함수

void* memset(void* ptr, int value, size_t num); - ptr : 채우고자 하는 메모리의 시작 포인터 (시작주소) - value : 메모리에 채우고자 하는 값, int 형으로 선언되어 있지만 내부에서는 unsigned char로 변환되어서 저장된다. - num 채우고자 하는 바이트의 수 == 채우고자 하는 메모리의 크기 ex) pingpong 구현 中 memset(buf, 0x00, BUF_SIZE); => 버퍼에 buffer size 크기만큼 0을 저장한다.

22 삐약 : 백준 1260 [C++]

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net #include #include using namespace std; int line[1001][1001]; bool visited[1001]; int n, m, v; queue q; void dfs(int idx) { cout v; for (int i = 0; i > from >> to; line[fro..

21 삐약 : 백준 17478 [C++]

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 알고리즘 응용 때문에 연습을 핑계로 재귀관련된 문제를 계속 찾아보다가 웃긴 문제를 찾았다 !!! ㅋㅋㅋㅋㅋㅋㅋㅋㅋ https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 친절하게도 언더바로 어디까지가 재귀인지 구분을 해 주어서 구현하기 훨씬 수월했던 것 같다! #include #include using namespace std; string separate(int n) { string str; for (int i = 0; i < ..

20 삐약 : 백준 11729 [C++]

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net #include #include using namespace std; void hanoi(int n, int start, int mid, int dest) { if (n == 1) printf("%d %d\n", start, dest); else { hanoi(n - 1, start, dest,mid); printf("%d %d\n", start, dest); hanoi(n - 1, ..

19 삐약 : 백준 2447 [C++]

https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net #include using namespace std; void star(int i, int j, int num) { if ((i / num) % 3 == 1 && (j / num) % 3 == 1) { cout num; for (int i = 0; i < num; i++) { for (int j = 0; j < num; j++) { star(i, j, num); } cout

18 삐약 : 백준 10870 [C++]

https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net #include using namespace std; int fibonachi(int n) { if (n == 0 ) return 0; if (n == 1) return 1; return fibonachi(n-2)+fibonachi(n-1); } int main() { int num; cin >> num; cout

728x90