전체 글

전체 글

    [백준] 빙고

    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..

    [정올] 폭탄돌리기 (VOLIM)

    http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1925&sca=9060 JUNGOL www.jungol.co.kr 구현 문제입니다. 문제부터 간단하게 요약해보면, 폭탄을 가진 사람을 퀴즈를 풀게 되고, 맞출 경우엔 다음 사람에게, 틀리거나 패스하는 경우에는 다음 문제 또한 풀어야 합니다. 210초~211초 사이에 폭탄이 터지고, 처음 폭탄을 가진 사람, 퀴즈의 수, 각 퀴즈에서 의사결정을 하는데 걸린 시간이 주어질 때, 폭탄이 터질 때 폭탄을 가지고 있던 사람의 번호를 출력해야 합니다. 실제로 원형을 나머지를 구하는 형태로 돌게 하여, 구현하면 됩니다. 코드는 아래와 같습니다. #include using namespace std; #define MAXN..

    [정올] 등산로 찾기

    http://jungol.co.kr/bbs/board.php?bo_table=pbank&code=1111&sca=4070 JUNGOL www.jungol.co.kr bfs를 이용하는 문제입니다. 산이 있는데, 가장 외곽 둘레에서 출발하여 목적지 까지 도착해야 합니다. 이 때, 출발높이와 도착 높이에 따라 사용된 힘의 크기가 달라질 때, 가장 경제적으로 올라갈 때 드는 힘을 구해야 합니다. 총 두가지 정도 생각을 해 볼 수 있습니다. 1. 가장 외곽 둘레부터 출발하는 방식 2. 산의 정상에서 출바하는 방식 총 이렇게 두 지점을 출발 위치로 잡을 수 있습니다. 저의 경우 가장 외곽부터 출발하도록 하였는데, 이렇게 할 때도 외곽의 한 지점만 넣어주고 자동으로 확산될 수 있도록 가중치를 주는 더 나은 방식을 이..

    [정올] 귀가

    http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=491&sca=4070 JUNGOL www.jungol.co.kr BFS를 이용하는 문제입니다. 우선 문제부터 간단하게 요약하면, 목장 - 목장, 목장- 헛간을 잇는 길들이 존재하고, 소가 있는 목장들도 있고, 소가 없는 목장들도 있습니다. 이 때, 헛간으로 가장 먼저 올 수 있는 소와 그 거리를 구해야 합니다. 실제로 문제를 한번 읽어보는 것을 추천합니다. 헛간으로 부터 bfs를 진행하면 됩니다. 이렇게 bfs를 하다 대문자, 즉 소가 있는 목장에 도착하면 중단하는 형태로 진행을 합니다. 이렇게 bfs를 전부 진행하게 되면, 헛간으로 부터 각각의 소들에게 도달하는 최단 시간이 기록이 될 것이기 때문입니다...

    [백준] Roadblock

    https://www.acmicpc.net/problem/5917 5917번: Roadblock Every morning, FJ wakes up and walks across the farm from his house to the barn. The farm is a collection of N fields (1