코딩테스트

    [백준] Escaping the Farm

    https://www.acmicpc.net/problem/5921 5921번: Escaping the Farm The cows have decided on a daring plan to escape from the clutches of Farmer John. They have managed to procure a small inflatable raft, and during the cover of night, a group of cows will board the raft and row across the river bordering the farm. The pla www.acmicpc.net 문제부터 간단하게 요약하면, 소들이 농장을 탈출하는데, 소들은 무게를 가집니다. 이 때, 소들은 바보라 소들의 무..

    [백준] 참외밭

    https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 문제부터 간단하게 요약하면, ㄱ자를 회전 시킨 모양의 밭이 주어지고, 임의의 한 꼭짓점에서 반시계 방향으로 둘레의 변의 길이들이 주어집니다. 이 때, 밭의 넓이를 통해 밭에서 자라는 참외의 수를 구하는 문제입니다. 단위 면적당 자라는 갯수가 주어지므로, 넓이만 구하면 됩니다. 물론 가장 긴변의 양옆 변을 통해 찾는등 다른 방법들도 많겠지만, 그냥 주어진 변들을 이웃한 것들 끼리 모두 곱해서 더하..

    [정올] Uniqueness

    http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=413&sca=99 JUNGOL www.jungol.co.kr 문제부터 간단하게 설명하면, N개의 문자열이 주어졌을 때, 동일한 문자열이 존재하는지 판단하는 프로그램을 작성해야 합니다. 만약 전부 다른 문자열이라면, unique를 출력하고, 아닌 경우에는 중복되는 문자열들에 대해서 등장한 번째를 출력해야 합니다. 실제로 문제를 한번 읽어보는 것을 추천합니다. map등의 자료구조를 이용하면 간단하게 해결할 수 있습니다. 만약 사용하지 않는다면, 앞에서 부터 하나씩 보면서, used를 체킹하는 방식을 이용하면 됩니다. alice bob libe lie libe libe alice bob alice alice 위..

    [백준] 연속부분최대곱

    https://www.acmicpc.net/problem/2670 2670번: 연속부분최대곱 첫째 줄은 나열된 양의 실수들의 개수 N이 주어지고, 그 다음 줄부터 N개의 수가 한 줄에 하나씩 들어 있다. N은 10,000 이하의 자연수이다. 실수는 소수점 첫째자리까지 주어지며, 0.0보다 크거나 www.acmicpc.net 우선 문제부터 간단하게 요약하면, N개의 실수들이 나열 되어 있으면, 곱이 최대가 되는 부분을 찾아 계산해야 하는 문제입니다. 하나씩 곱해나가면서 최댓값을 갱신합니다. 이 때, 만약 결과값이 1보다 작아지면 1로 다시 초기화 해주는 형태로 구현하면 됩니다. 실제 구현은 아래와 같습니다. #include #include #include using namespace std; int N; ..

    [백준] 빙고

    https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 문제부터 간단하게 요약하면, 빙고판이 주어지고, 사회자가 부르는 숫자들도 주어집니다. 이 때, 사회자가 몇번 째 수를 부른 후 빙고줄이 3줄 이상이 되는지를 출력해야 합니다. 5x5로 사이즈가 고정이므로 가로 5줄, 세로 5줄, 대각선 2줄에 대해 int array를 만들어 놓고 숫자가 불릴때 마다 증가시켜 5가 되면 빙고 줄 수를 하나 늘려주는 형태로 구현하면 쉽게 카운팅이 가능합니다. 실제 구현은 아래와 같..

    [백준] 자리배정

    https://www.acmicpc.net/problem/10157 10157번: 자리배정 첫 줄에는 공연장의 격자 크기를 나타내는 정수 C와 R이 하나의 공백을 사이에 두고 차례대로 주어진다. 두 값의 범위는 5 ≤ C, R ≤ 1,000이다. 그 다음 줄에는 어떤 관객의 대기번호 K가 주어진다. www.acmicpc.net 문제부터 간단하게 설명하면, 빙글빙글 돌게 사람들을 배치해서 내가 찾고자 하는 관객이 어떤 좌표에 배정이 되는지를 구하는 문제입니다. 좌표가 헷갈리게 되어 있으므로 기본적인 행렬처럼 변환 했다고 가정하고 문제를 해결하면 됩니다. 코드는 아래와 같습니다. #include using namespace std; int C, R, K; void InputData(){ cin >> C >>..

    [백준] 싸이클

    https://www.acmicpc.net/problem/2526 2526번: 싸이클 두 자연수 N과 P를 가지고 다음 과정을 거쳐서 나오는 수를 차례대로 출력해보자. 처음 출력하는 수는 N이고, 두 번째 이후 출력하는 수는 N을 곱하고 P로 나눈 나머지를 구하는 과정을 반복하여 www.acmicpc.net 우선 문제부터 간단하게 이야기하면, 특정한 규칙을 통해 숫자들이 새로 계산됩니다. 이 계산에 의해 숫자들은 순환마디를 가지게 되는데, 이 때, 순환 마디에 포함되는 서로 다른 숫자의 개수를 구해야 하는 문제입니다. 차례로 계산을 하는 것은 어렵지 않습니다. 이 때, 순환마디의 길이를 구하는 방식은 크게 두가지를 생각 해 볼 수 있는데, 1. 경로를 찾듯이 구하는 방식 2. 숫자가 몇번째로 등장했는지 ..

    [정올] 숫자근(Digit Root)

    http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=543&sca=50&sfl=wr_hit&stx=1260&sop=and JUNGOL www.jungol.co.kr 구현 문제입니다. 문제부터 간단하게 요약하면, 숫자근 이라는 것을 정의 하는데, n개의 정수중 숫자근이 가장 큰 값을 찾는 프로그램을 작성해야 합니다. 하나씩 숫자 근을 구해준 후, 숫자근이 가장 큰 값을 구하는 형태로 구현하면 됩니다. 실제 구현은 아래와 같습니다. #include #include #include using namespace std; #define MAXN ((int)1e3) int N;//정수개수 int A[MAXN + 10];//입력 정수 int B[MAXN + 10]; vo..