728x90
반응형
문제 요약
문제 풀기 힘들어하는 수진이를 위해 민우가 문제를 해결해주는 신비한 능력을 가진 고무오리를 준비했다.
고무오리의 사용법은 아래와 같다.
- "고무오리 디버깅 시작"을 외침
- 문제를 풀다가 고무오리를 받으면 최근 풀던 문제 해결
- "고무오리 디버깅 끝"을 외치면 풀이 종료
풀 문제가 없는데 고무오리를 사용하면 체벌로 두 문제 추가
입력
첫 번째 줄은 "고무오리 디버깅 시작"
두 번째 줄부터 "고무오리" 또는 "문제" 주어짐
"고무오리 디버깅 끝"이 주어지면 프로그램 종료
최대 102줄까지 입력
출력
고무오리 디버깅이 끝날 때, 주어진 문제가 모두 해결되었으면 "고무오리야 사랑해"를 출력. 하나라도 문제가 남으면 "힝구" 출력
입출력 예시
입력 | 출력 |
고무오리 디버깅 시작 문제 고무오리 문제 문제 고무오리 고무오리 고무오리 디버깅 끝 |
고무오리야 사랑해 |
고무오리 디버깅 시작 고무오리 고무오리 고무오리 고무오리 디버깅 끝 |
고무오리야 사랑해 |
고무오리 디버깅 시작 문제 문제 고무오리 고무오리 고무오리 문제 고무오리 문제 고무오리 고무오리 고무오리 고무오리 디버깅 끝 |
고무오리야 사랑해 |
고무오리 디버깅 시작 고무오리 고무오리 디버깅 끝 |
힝구 |
정답 코드
inputVal = input()
values = []
question = "문제"
while (inputVal != "고무오리 디버깅 끝"):
# 데이터 입력
inputVal = input()
# 풀이
if inputVal == "문제":
values.append(question)
if inputVal == "고무오리":
if len(values) == 0:
values.append(question)
values.append(question)
else:
values.pop()
# 출력
print("고무오리야 사랑해") if len(values) == 0 else print("힝구")
question을 따로 뒀지만 풀이에서 inputVal == "문제" << 이렇게 사용한 이유는, 코드를 바로 알아보기 쉽도록 하기 위해서. "고무오리"와 "문제"로 눈에 더 잘 들어와서.
그리고 출력에서는 코드 길이를 줄이기 위해 삼항연산자를 사용
깨달은 것
- 파이썬에서 삼항연산자는 "조건 ? 참일 때 값 : 거짓일 때 값" 대신 "참일 때 값 if 조건 else 거짓일 때 값"으로 사용해야 한다.
728x90
반응형
'알고리즘' 카테고리의 다른 글
[자료구조:스택] 백준 17608번 막대기 Python 풀이 (0) | 2021.05.17 |
---|---|
[정렬] 백준 2752번 세수정렬 Python 풀이 (0) | 2021.05.15 |
[구현] 백준 1380번 귀걸이 Python 풀이 (0) | 2021.05.11 |
[구현] 백준 1225번 이상한 곱셈 Python 풀이 (0) | 2021.05.10 |
[자료구조:스택] 백준 12605번 단어 순서 뒤집기 (0) | 2021.03.03 |