본문 바로가기
728x90

알고리즘/[python] 백준 BOJ328

[python] 백준 3954 Brainf**k 인터프리터 https://www.acmicpc.net/problem/3954 3954번: Brainf**k 인터프리터 각 테스트 케이스에 대해서, 프로그램이 종료된다면 "Terminates"를, 무한 루프에 빠지게 된다면 "Loops"를 출력한다. 무한 루프에 빠졌을 때는, 프로그램의 어느 부분이 무한 루프인지를 출력한다. ([ www.acmicpc.net 문제 해결 문제를 이해하는데 상당한 시간이 소요 되었다. 간단히 요약하면 '[' 과 ']'로 인해 무한루프를 도는가 문제이다. 각 조건들에 대한 이해와 구현 문제 먼저 루프를 찾고 그래프로 연결을 한다. 각 프로그램 문자를 보고 조건에 맞게 데이터 배열을 변형시킨다. 일정 횟수 이상 지났을 때 무한루프를 못 빠져 나오면 가장 안에 있는'LOOP, '[' 지점, .. 2023. 5. 28.
[python] 백준 14891 톱니바퀴 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 문제 해결 특정한 하나의 톱니바퀴를 돌릴 때 다른 톱니바퀴가 돌아가는지 안돌아가는지 조건에 맞춰서 확인한다. 결국 중요한 것은 12시 방향의 값이 N극인지 S극인지이다. 돌아갈때 한번에 모두 돌아가는 것이므로 조건에 맞춰서 이웃하는 바퀴가 반대방향으로 돌아가는지 안돌아가는지 확인한다음 안들아가면 다음 톱니바쿼는 볼 필요가 없고 돌아가면 다음 톱니바퀴를 쭉 확인한다. 단순 구현 문제이다. COD.. 2023. 5. 22.
[python] 백준 14499 주사위 굴리기 https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 문제 해결 주사위와 지도에 대해서 이해하기 어려웠다. 주사위를 굴린다는것은 오른쪽, 왼쪽, 위쪽, 아래쪽으로 한 칸 굴린다는 것을 이해하면 문제가 쉬워진다. 시물레이션 문제이다. 한번 굴릴 때 어떻게 지도에서 움직이는지 이해하고 그래서 주사위를 어떻게 굴렸는지 알고 숫자를 변경시키고 주사위 위쪽 숫자를 출력하면 해결된다. CODE .. 2023. 5. 18.
[python] 백준 2923 숫자 게임 https://www.acmicpc.net/problem/2923 2923번: 숫자 게임 창영이와 현우는 새로운 게임을 하고 있다. 이 게임은 여러 라운드로 이루어져 있다. 매 라운드가 시작할 때, 현우는 창영이에게 100보다 작은 두 숫자 A와 B를 말해준다. 그러고 난 뒤, 창영이는 www.acmicpc.net 문제 해결 n번 숫자 쌍이 추가 될 때마다 A와 B의 원소를 쌍을 맞춰 각 쌍의 최댓값의 최솟값을 구하는 문제 쉽게 직관적으로 A의 오름차순 수열 $a_{1}$, $a_{2}$ , ... 라 하고 B의 내림 차순 수열 $b_{1}$, $b_{2}$, ..라 할 때 answer = min($a_{i}+b_{i}$) 가 될 것이다. 그러므로 각 숫자의 개수를 인지한 다음 하나씩 짝을 맞추었을 때 .. 2023. 5. 16.
728x90