문제 링크
https://www.acmicpc.net/problem/11945
문제 설명
문제
고려대학교에 입학한 새내기 호돌이는 안암역을 지나다가 한 붕어빵 장수를 만났어요.
“안녕, 안녕, 안녕하십니까, 아저씨! 붕어빵 두 개 주세요.”
“안녕을 세 번 외쳤으니 붕어빵 세 개!”
붕어빵 두 개의 값을 내고 세 개를 받은 호돌이는 기분이 좋았어요. 호돌이가 붕어빵 하나를 꺼내어 한 입 물었는데…. 너무 뜨거워서 그만 붕어빵을 떨어뜨리고 말았어요ㅠㅠ
붕어빵은 자유 낙하운동을 하면서 땅에 떨어졌는데 신기하게도 좌우가 뒤집힌 모양으로 착지했답니다. 호돌이가 붕어빵을 한 입 물기 전의 모양이 입력으로 주어지면, 땅에 떨어졌을 때에는 어떤 모양일지 출력하세요.
입력
첫째 줄에는 두 개의 정수 N과 M(0≤N,M≤10)이 주어집니다. 둘째 줄부터 N개의 줄에 걸쳐 붕어빵의 모양이 주어집니다. 각 행에는 공백을 나타내는 ‘0‘ 또는 붕어빵을 나타내는 ‘1’이 총 M개 주어집니다.
출력
입력으로 주어진 붕어빵이 좌우로 뒤집힌 모양을 출력하세요.
입출력 예 설명
입력5 7 0010000 0111010 1111111 0111010 0010000
출력0000100 0101110 1111111 0101110 0000100
💻내가 짠 코드
N, M = map(int, input().split())
for _ in range(N):
line = input()
print(line[::-1])
✍ 접근 방법
- 첫째 줄에서 N과 M을 입력받고 정수로 바꾸기
- N개의 줄을 반복하면서 각 행을 입력받고, 이를 문자열 슬라이싱([::-1])을 이용해 뒤집어 출력
💡 다른 풀이
N, M = map(int, input().split())
fish_shape = [input() for _ in range(N)]
for row in fish_shape:
print(row[::-1])
if 모든 입력을 한번에 받을 경우
# 입력 전체를 처리하기
data = input().splitlines() # 모든 입력을 한 번에 받아 줄 단위로 분리
N, M = map(int, data[0].split()) # 첫 번째 줄에서 N, M 추출
fish_shape = data[1:] # 나머지 줄을 붕어빵 모양으로 저장
모든 입력을 한 번에 받고 첫째 줄에서 N과 M을 추출 후 나머지 줄을 붕어빵 모양으로 저장
if 상하반전일 경우
N, M = map(int, input().split())
lines = []
for _ in range(N):
line = input()
lines.append(line)
for line in reversed(lines):
print(line)
'Study > Python' 카테고리의 다른 글
[99클럽 코테 스터디] 6일차 TIL - 할리갈리 (0) | 2025.01.21 |
---|---|
[99클럽 코테 스터디] 5일차 TIL - 세로읽기 (0) | 2025.01.18 |
[99클럽 코테 스터디] 3일차 TIL - 문자열 반 (0) | 2025.01.15 |
[99클럽 코테 스터디] 2일차 TIL - 그대로 출력하기 (0) | 2025.01.14 |
[99클럽 코테 스터디] 1일차 TIL - 문자열 내 p와 y의 개수(Python) (0) | 2025.01.13 |