Algorithm

https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 구현 문제다. 이전에 풀다가 실패한 문제다. 문제 설명 8개의 톱니로 이루어진 4개의 톱니바퀴가 존재한다. 이들은 서로 맞닿아 물려있고, 각 톱니에는 N극 혹은 S극이 존재한다. 하나의 톱니바퀴를 돌렸을 때, 다른 극 끼리 맞닿아 있다면 반대 방향으로 회전한다. 같은 극이 맞닿아 있다면 회전하지 않는다. 입력은 톱니바퀴의 톱니에 대한 정보가 들어오고, 회전 횟수, 회전 톱니와 방향이 들어온다..
https://www.acmicpc.net/problem/23031 23031번: 으어어… 에이쁠 주세요.. 밤이 되면 어두워지는 다솔관에는 좀비가 나온다는 괴담이 있다. 그 좀비들의 정체는 바로 시험 기간에 공부하느라 지친 학생들이었다. 지친 학생들은 멀리서 보면 흡사 좀비이므로 학생 좀비 www.acmicpc.net 구현 문제다. 문제 설명 1. 아리는 (1, 1)에서 시작한다. 나는 (0, 0)으로 시작했다. 2. 아리와 좀비는 모두 아래 방향을 보고 시작한다. 3. 아리의 이동경로가 문자열로 주어진다. 4. 아리는 벽에 부딪히면 이동하지 않는다. 5. 좀비는 벽에 부딪히면 방향을 바꾼다. -> 위아래로만 움직인다. 6. 아리는 스위치를 만나면 해당 칸과 주변 8칸 총 9칸을 영구적으로 밝힌다. 7..
https://www.acmicpc.net/problem/4920 4920번: 테트리스 게임 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 표의 크기 N이 주어지고, 4 ≤ N ≤ 100을 만족한다. 둘째 줄부터 표에 쓰여 있는 숫자가 주어진다. 숫자는 절댓 www.acmicpc.net 구현 문제다. 설명 이런 테트리스 문제는 전에도 접한 경험이 있다. 이전에는 모든 모양에 대해 각각 반복문을 돌리는 방법으로 해결했다. 그러나 그건 코드적으로는 효율적이어도 너무 단순 노동이라는 생각이 들어 효율적으로 해결하고 싶었다. 여러 방법을 떠올려 보면서 남자친구에게서 좋은 방법을 얻었다. BFS에서 사용하던 툴을 이용하는 것이다. 배열의 칸에 대한 정보를 dr, dc 배열에 저..
https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 구현, 시뮬레이션 문제다. 문제 설명 공기청정기가 존재한다. 공기 청정기는 2x1 크기로 항상 1열에 존재하고, 위 아래 행과 두 칸 이상 떨어져 있다. 각 칸에는 미세먼지가 존재하고 이는 해당 칸의 미세먼지 / 5 만큼 4방향으로 퍼진다. 해당 칸에는 퍼진 미세먼지를 제외한 양만큼 남는다. 공기청정기가 존재하거나, 칸이 없는 경우는 퍼지지 않는다. 후에 공기 청정기가 작동하면 공기청정기 중간 ..
https://www.acmicpc.net/problem/3107 3107번: IPv6 첫째 줄에 올바른 IPv6 주소가 주어진다. 이 주소는 최대 39글자이다. 또한, 주소는 숫자 0-9, 알파벳 소문자 a-f, 콜론 :으로만 이루어져 있다. www.acmicpc.net 설명 문자열 구현 문제다. 32자리의 16진수를 : 단위로 4개씩 구분한다. 이 때 두 가지 규칙이 존재한다. 1. 각 그룹의 앞자리의 0의 전체 또는 일부를 생략 할 수 있다. 2. 0으로만 이루어져 있는 그룹이 있을 경우 그 중 한 개 이상 연속된 그룹을 하나 골라 콜론 2개(::)로 바꿀 수 있다. 아래 세 가지 IPv6는 동일하다. 2001:0db8:85a3:0000:0000:8a2e:0370:7334 2001:db8:85a3:..
https://www.acmicpc.net/problem/2116 2116번: 주사위 쌓기 첫줄에는 주사위의 개수가 입력된다. 그 다음 줄부터는 한 줄에 하나씩 주사위의 종류가 1번 주사위부터 주사위 번호 순서대로 입력된다. 주사위의 종류는 각 면에 적혀진 숫자가 그림1에 있는 www.acmicpc.net 브루트포스, 구현 문제다. 주사위는 아래와 같이 생겼고, A B C D E F 순으로 입력이 들어온다. 이 때 A - F, B - D, C - E 가 마주본다. int pairs[6] = { 5, 3, 4, 1, 2, 0 }; 와 같이 맞은 편 짝에 대한 배열을 만들었다. 이 문제는 주사위를 쌓을 때 윗면의 숫자와 윗 층 주사위의 아랫면 숫자가 같아야 한다. 따라서 맨 아래 주사위의 방향만 결정하면 그..
abbiddo
'Algorithm' 카테고리의 글 목록 (2 Page)