728x90
반응형
BaekJoon 백준 17363 우유가 넘어지면? 문제는 "우유"가 세로로 적혀 있는 상자를 왼쪽으로 툭 넘어뜨리면 "아야"가 된다. 친구들이 웃지 않자, 공간지각력이 부족한 친구들을 위해 상자를 넘어뜨리는 프로그램을 만들어 결과를 보여주는 문제이다. 난이도는 Bronze 1이다.
BaekJoon 17363 우유가 넘어지면? 문제 정보
출처
- https://www.acmicpc.net/problem/17363
알고리즘 분류
- 구현
난이도
- 브론즈 1 / Bronze 1
우유가 넘어지면? 문제 요약
- "우유"가 세로로 적혀 있는 상자를 왼쪽으로 툭 넘어뜨리면 "아야"가 되잖아? 이게 마치 우유가 넘어져서 아파하는 것 같다는 점이 웃음 포인트야!
- 친구들이 웃지 않자, 성원이는 친구들이 공간지각력이 부족해 상자를 넘어뜨리는 모습을 상상하지 못한다고 생각했다. 그래서 상자를 넘어뜨리는 프로그램을 만들어 친구들에게 결과를 보여주기로 했다.
- 성원이는 상자에 "우유"가 아니라 다른 그림이 그려져 있어도 프로그램이 잘 동작하기를 원한다. 성원이는 상자의 면을 격자로 나누고 각 칸에 아래 문자들 중 하나를 그려 넣는 방식으로 그림을 그린다.
- 그림의 세로 길이와 가로길이를 의미하는 정수 N과 M(1 ≤ N, M ≤ 100)이 주어진다.
- 그림을 왼쪽으로 넘어뜨렸을 때의 결과를 구하여 출력한다.
문제 풀이 과정
- 입력된 문자를 키로, 돌렸을 때 결과 문자의 아스키코드를 값으로 하는 딕셔너리를 정의한다.
- 그림을 입력받고, 첫 행 M열부터 N행 M열 까지를 방문 하여 딕셔너리를 참고하여 돌렸을 때의 문자를 저장한다.
- M열 ~ 1 열의 결과를 모두 저장하고 이 결과를 출력한다.
코드 및 설명
- d {} - 입력된 문자를 키로, 돌렸을 때 결과 문자의 아스키코드를 값으로 하는 딕셔너리
- box [] - 입력받은 상자의 그림
- rotate [][] - 왼쪽으로 돌린 후 상자의 그림
- row [] - 왼쪽으로 돌린 후 i 행의 결과
# 문자를 돌렸을 때 결과 문자의 아스키 코드
d = {'.': 46, 'O': 79, '-': 124, '|': 45, '/': 92, '\\': 47,
'^': 60, '<': 118, 'v': 62, '>': 94}
N, M = map(int, input().split())
box = []
for _ in range(N):
box.append(input())
rotate = [] # 왼쪽으로 돌린 후 결과
for i in range(M - 1, -1, -1):
row = [] # 돌린 후 i 행의 결과
for j in range(N):
row.append('%c' % d[box[j][i]])
rotate.append(row)
for r in rotate:
print(''.join(r))
BaekJoon 백준 17363 우유가 넘어지면? 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.
728x90
반응형
'Algorithm Problem Solving > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 8595 히든 넘버 (Python / 파이썬) (0) | 2021.08.24 |
---|---|
[BaekJoon] 백준 3023 마술사 이민혁 (Python / 파이썬) (0) | 2021.08.23 |
[BaekJoon] 백준 3035 스캐너 (Python / 파이썬) (0) | 2021.08.23 |
[BaekJoon] 백준 2775 이번학기 평점은 몇점? (Python / 파이썬) (0) | 2021.08.23 |
[BaekJoon] 백준 1268 임시 반장 정하기 (Python / 파이썬) (1) | 2021.08.23 |
댓글