반응형
문제
https://www.acmicpc.net/problem/23841
문제 설명
- N*M크기의 보드가 주어진다.
- 보드를 좌우 방향으로 반으로 포개어 접어 데칼코마니를 만든다.
- 이 때 데칼코마니 결과를 출력한다.
풀이
단순하게 좌우를 대칭하면 해결되는 문제이다.
C의 길이가 주어졌기때문에 board를 완전 탐색하여 해당 위치에 물감이 있다면
C - curr_col-1(인덱스는 0부터 시작하므로 1을 더 감소한다.)을 통해 대칭되는 위치에 값을 갱신했다.
- board를 완전 탐색한다.
- 해당 위치가 '.'이 아니라면, C - c(현재 위치) -1의 위치에 현재 물감 색을 갱신한다.
- 결과를 출력한다.
코드
import sys
input = sys.stdin.readline
R,C = map(int,input().split())
board = [list(input().strip()) for _ in range(R)]
for r in range(R):
for c in range(C):
if board[r][c] == '.':
continue
board[r][C-1-c] = board[r][c]
for i in board:
print(*i, sep = '')
시간복잡도
- board를 완전탐색하여 문제를 해결한다.
- 즉 $N = 50, M = 50$이므로 약 $O(10**3)$의 시간복잡도가 소요된다.
반응형
'알고리즘' 카테고리의 다른 글
| [파이썬/python] 백준 - 10653 마라톤 2 (1) | 2025.08.17 |
|---|---|
| [파이썬/python] 백준 - 1368 물대기 (4) | 2025.08.16 |
| [파이썬/python] 백준 - 25551 멋쟁이 포닉스 (4) | 2025.08.14 |
| [파이썬/python] 백준 - 5376 소수를 분수로 (2) | 2025.08.13 |
| [파이썬/python] 백준 - 25757 임스와 함께하는 미니게임 (4) | 2025.08.12 |