목록전체 글 (161)
cyphen156
11022번: A+B - 8 (acmicpc.net) 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 테스트 케이스의 수행횟수, inputs, result를 동시에 출력하는 덧셈프로그램 제약사항 0 T; for (int i = 0; i > A >> B; cout
11021번: A+B - 7 (acmicpc.net) 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 문자열과 덧셈, 그리고 인덱스를 동시에 출력하는 프로그램 제약사항 0 T; for (int i = 0; i > A >> B; cout
간만에 올리는 MAUI 글이다. 앱을 사용하다 보면 여러개의 화면들을 만날 수 있는데 보통 화면을 띄울 때 한 화면을 종료하고 다른 화면을 켜는 것이 아니라, 두번째 화면을 첫번째 화면 위에 새로 띄워서 덮어씌워버리는 것이다. 그러면 첫번째 화면은 백그라운드로 돌아가고 두번째 화면이 눈앞에 나타나는 것이다. 이것을 스택네비게이션이라고 부른다. 지난번 글에서는 대략적인 앱 구성에 대해 배웠는데, 새로운 화면을 추가하기 위해서 프로젝트-우클릭-추가-새항목을 통해 새 화면을 만든다. 주인장은 Screens폴더라는 디렉토리를 하나 만들어서 여기에 화면관련 파일들을 관리할 것이다. 필요에 따라 계층적으로 구성이 변할 수 있다. 우리가 주로 사용할 것은 두 가지이다. 1. 통채로 화면 하나를 구성하는 Content..
큐는 스택과 더불어 가장 많이 쓰이는 자료 입출력 구조이다. 스택(Stack)이 후입선출(LIFO)방식이었다면, 큐(Queue)는 선입선출(FIFO)의 구조로 입장순서에 대한 개념과 같다. 운영체제 입장에서도 중요한데 특별한 이유(Exception/우선 처리 지시 등의 예외사항)가 아니라면 무조건 먼저 들어온 프로세스를 먼저 처리하는 과정으로 동작하기 때문에 중요하다. 기본적으로 사용하는 형식은 스택을 구현했을 때와 유사하게 사용하지만, 다른점은 스택을 사용했을 때와 달리 큐를 구현할때는 마지막 노드(tail==stack의 top)와 마찬가지로 첫번째 노드 (Head)에 대한 정보가 중요하다는 것이다. Queue.c /** * 큐 자료구조 구현하기 * // 단일연결리스트 * using struct * *..
15552번: 빠른 A+B (acmicpc.net) 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 덧셈 연산을 할 때 입출력 방식을 제한하는 프로그램 최대 100만번의 입출력을 어떻게 제한시간 안에 처리할 것인가?에 대한 고려 cout객체를 사용할 때 버퍼를 비우는 작업에 대한 고려가 필요하다. 제약사항 0 A >> B; cout
25314번: 코딩은 체육과목 입니다 (acmicpc.net) 25314번: 코딩은 체육과목 입니다 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ www.acmicpc.net 입력받은 수를 기준으로 4바이트마다 long이라는 문자열을 하나씩 늘려가면서 출력하는 프로그램 제약사항 4 = 2; // 나누기 4 == 2bit shift for (long long i = 0; i < N; ++i) { printf("long "); } printf("int\n"); return 0; } C++ 풀이 코딩은 체육과목 입니다_25314.cpp #include using n..
소수(Prime Number)를 찾는 방법은 단순하지만 시간이 오래걸린다. 우선 소수란 1을 제외한 어떤 양의 정수가 약수를 1과 자기 자신만을 갖는 수를 말한다. 2, 3, 5, 7, 11, 13 ... 등이 소수다. 보통 제곱근 판정법이나 가장 효율적이라고 알려진 에라토스테네스의 체를 알고리즘으로사용한다. 본 글에서는 아래로 갈수록 효율적인 방법들을 소개한다. 결정론적 방법 확실하게 소수인지 아닌지를 판단하는 방법 결과가 명확하지만 연산 시간이 길어진다. 일반적인 소수판정법 가장 통상적인 방법은 2부터 시작해서 입력값의 전 까지 모두 나눠보고, 나머지가 존재하는지를 확인하는 방법이다. 이것은 이전글에서 소개한 방법과 동일하게 절반까지만 확인하는 방법 또한 존재한다. 소수판정법_native.C // 일..
이번에 배울 내용은 유클리드 알고리듬과 유사한 스테인의 알고리듬이다. 전에 컴퓨터의 연산은 뺄셈이던지 곱셈이던지 혹은 나눗셈이던지 항상 이진 덧셈으로 이루어진다고 했다. 그런데 곱셈 연산과 나눗셈 연산의 경우 덧셈이 아닌 방식으로 동작시키는 것이 가능하다. 바로 비트시프트를 이용하는 것이다. 여기 1byte크기의 메모리에 데이터가 저장되어있다고 하자. 이 정수의 4배를 구하려면 같은 수를 덧셈 연산을 4번 해야 한다. 반면 비트시프트 연산의 경우 단순히 저장된 데이터중 일부 비트정보를 뒤집으면 되기에 이론적으로 횟수로는 2번의 횟수가 되어 덧셈 연산보다 더욱 빠를 수 있다. 나눗셈의 경우도 곱셈과 연산 방향만 바뀔 뿐 연산 수행 횟수는 동일하다. 이러한 비트시프트라는 것과 짝수에 반드시 2라는 약수가 있..