728x90
반응형
문제풀이 GitHub
https://github.com/Seokii/baekjoon
문제링크
https://www.acmicpc.net/problem/6796
풀이
tmp = {'A': 0, 'B': 0}
while True:
arr = input().split()
if arr[0] == '1':
tmp[f'{arr[1]}'] = int(arr[2])
elif arr[0] == '2':
print(f'{tmp[f"{arr[1]}"]}')
elif arr[0] == '3':
tmp[f"{arr[1]}"] = tmp[f"{arr[1]}"] + tmp[f"{arr[2]}"]
elif arr[0] == '4':
tmp[f"{arr[1]}"] = tmp[f"{arr[1]}"] * tmp[f"{arr[2]}"]
elif arr[0] == '5':
tmp[f"{arr[1]}"] = tmp[f"{arr[1]}"] - tmp[f"{arr[2]}"]
elif arr[0] == '6':
tmp[f"{arr[1]}"] = tmp[f"{arr[1]}"] // tmp[f"{arr[2]}"]
elif arr[0] == '7':
break
매번 문제를 쉬운 그리디와 수학 관련 문제만 풀다가
난이도를 기준으로 잡고 알고리즘과 상관 없이 랜덤으로 문제를 뽑아 푸는 방식으로 공부법을 바꿨습니다.
전체 랜덤 문제를 뽑다가 영어 문제가 나왔습니다.. 그래도 브론즈 수준의 문제이기 때문에 문제를 풀었습니다.
문제는 간단하게 사용자의 입력을 받고
가장 첫 번째 숫자가 7가지의 지정한 명령을 수행하라는 의미이고
그 후에 등장하는 A, B, 혹은 임의의 숫자가 세부적인 명령 내용입니다.
1부터 7까지의 명령은 다음과 같습니다.
1 : 입력한 문자열에 입력한 정수를 정의합니다.
2 : 입력한 문자열에 대한 정의를 불러와 출력합니다.
3 : 입력한 앞 글자와 뒷 글자의 값을 불러와 덧셈을 수행하고 결과를 앞 글자의 변수에 정의합니다.
4 : 3과 동일하며 계산만 곱셈을 진행
5 : 3과 동일하며 계산만 뺄셈을 진행
6 : 3과 동일하며 계산만 나누기(나머지는 버림)를 진행
7 : 프로그램 종료(break)
처음엔 3~6이 계산을 진행하고 바로 출력하는 줄 알고 틀렸지만,
문제를 다시 읽고 간단하게 조건문을 사용해 위와 같이 구현했습니다.
영어 읽기가 귀찮을뿐 쉬운 문제였습니다...
728x90
반응형
'알고리즘 정복하기! > 백준 문제풀이' 카테고리의 다른 글
백준 22353번 Python / 수학, 구현, 확률론 (0) | 2022.03.08 |
---|---|
백준 17951번 Python / Binary Search(이분, 이진 탐색) (0) | 2022.03.07 |
백준 11508번 Python / Greedy (0) | 2022.03.04 |
백준 5046번 Python / 구현 (0) | 2022.03.02 |
백준 11123번 Python / DFS (0) | 2022.03.01 |
댓글