티스토리 뷰

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

문제풀이

 

0 ~ 9로 이루어진 번호 문자열에서 같은 번호로 붙어있는 쌍들을 소거하고 남은 번호로 비밀번호를 만드는 문제다.

예를 들어 아래의 번호 열을 철수의 방법으로 소거하고 알아낸 비밀번호다.

번호 쌍이 소거되고 소거된 번호 쌍의 좌우 번호가 같은 번호이면 또 소거할 수 있다.

 

 

번호 문자열을 검사할 때 스택이 비어있지 않고 스택의 top과 번호가 같다면 pop해준다.

스택이 비어있거나 스택의 top과 번호가 같지 않은 경우에는 스택에 번호를 넣어준다.

 

소거할 수 있는 번호 쌍을 모두 소거했다면 스택에서 번호를 꺼내준다.

이때 순서가 거꾸로이므로 reverse() 함수로 뒤집으면 철수의 방법으로 소거하고 알아낸 비밀번호가 된다.

 

 

코드

 

C++ 코드

 

 

Java 코드

 

 

'Problem Solving > SWEA' 카테고리의 다른 글

[SWEA 1224] 계산기3 C++  (0) 2021.07.28
[SWEA 1267] 작업순서 C++  (0) 2021.07.28
[SWEA 1219] 길찾기 C++  (0) 2021.07.28
[SWEA 1218] 괄호 짝짓기 C++  (1) 2021.07.28
[SWEA 1217] 거듭 제곱 C++  (0) 2021.07.28
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함