[코테공부/Softeer/Python] [한양대 HCPC 2023] Yeah, but How?
https://softeer.ai/practice/9498
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
나의 풀이
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' 카테고리의 다른 글
[Python] 유용한 빌트인 함수 모음 / replace, re.compile, lower, 합집합교집합, Counter, lambda로 sorted() (0) | 2025.02.05 |
---|---|
[Python] 정수로 이진수 or 연산 구현하기 (0) | 2025.02.05 |
[코테공부/Softeer] 나무 공격 Python (0) | 2025.01.31 |
[Python] zip() 함수 사용법 / 가장 긴 길이에 맞춰 zip() 사용법 (0) | 2024.01.17 |
[Python] 람다식(lambda) 사용법, 사용할 위치: filter(), sorted() (0) | 2024.01.16 |