Python으로 구현한 1234번 [S/W 문제해결 기본] 10일차 - 비밀번호 문제 풀이입니다.
for tc in range(1, 11) :
n, data = input().split()
data = list(map(int, data))
result = []
for i in range(int(n)) :
if result and result[-1] == data[i] :
result.pop()
continue
result.append(data[i])
print('#%d %d' % (tc, int(''.join(map(str, result)))))
1. 각 테스트 케이스마다 입력받은 data를 리스트 형태로 구성하고, result 리스트를 초기화한다.
2. data 리스트의 요소를 하나씩 확인하며, 만약 result에 요소가 존재하고 result 리스트의 마지막 요소와 data[i]가 같을 경우 result의 마지막 요소를 제거하고 continue한다.
3. continue 되지 않았다면 result 리스트에 data[i]를 추가한다.
4. 최종적으로 해당 테스트 케이스 번호와 함께 result 리스트의 요소를 이어 붙인 값을 출력한다.
'SWEA(Python) 풀이 > D3' 카테고리의 다른 글
SWEA[D3] (Python) 1229번 [S/W 문제해결 기본] 8일차 - 암호문2 풀이 (0) | 2022.05.30 |
---|---|
SWEA[D3] (Python) 1230번 [S/W 문제해결 기본] 8일차 - 암호문3 풀이 (0) | 2022.05.30 |
SWEA[D3] (Python) 1244번 [S/W 문제해결 응용] 2일차 - 최대 상금 풀이 (0) | 2022.05.28 |
SWEA[D3] (Python) 1289번 원재의 메모리 복구하기 풀이 (0) | 2022.05.28 |
SWEA[D3] (Python) 1491번 원재의 벽 꾸미기 풀이 (0) | 2022.05.28 |