[코테공부/Softeer/Python] [한양대 HCPC 2023] Yeah, but How?
https://softeer.ai/practice/9498
나의 풀이
1. 아이디어
- Python 5초 안에 풀어야 하므로 시간 효율화를 위해 pop() 사용.
- str을 list로 바꿔서 pop()을 사용하는데, 이는 마지막 원소부터 출력하기 때문에 원본 문자열 S의 순서를 뒤집음.
- 처음 시작 괄호는 '('이 될 수 밖에 없음.
- previous와 present 변수를 설정하여 이전에 들어온 괄호와 현재 괄호가 같으면 넘어가고, 다르면 1 혹은 +를 추가함.
2. 코드
import sys
s = list(input())[::-1]
previous = s.pop()
answer = previous
while len(s) > 0:
present = s.pop()
if previous == present:
answer += present
else:
if present == ')':
answer += '1' + present
else:
answer += '+' + present
previous = present
print(answer)
결과
'Python' 카테고리의 다른 글
[코테공부/Softeer] 나무 공격 Python (0) | 2025.01.31 |
---|---|
[Python] zip() 함수 사용법 / 가장 긴 길이에 맞춰 zip() 사용법 (0) | 2024.01.17 |
[Python] 람다식(lambda) 사용법, 사용할 위치: filter(), sorted() (0) | 2024.01.16 |
[Python] 리스트나 딕셔너리에 저장된 값을 함수의 위치 인수로 전달하는 법 (2) | 2024.01.15 |
[Python] *args, **kwargs 란 / 함수 파라미터 설정 시 가변 개수 파라미터 설정하는 법 (0) | 2024.01.15 |