-
[일간임무] - 괄호변환일간임무 2021. 10. 21. 22:21
Elapsed time = 22min
"시키는 대로만 하세요."
만약, 지시 사항 없이 "짝이 있을 수도 있고 없을 수도 있는 괄호들을 짝을 잘 맞추어 정렬하는 프로그램을 짜세요."라는 문제로 나왔더라면 정말 어려웠을 것 같습니다. 다행히 모든 지시 사항이 문제에 나와 있었고 그것을 그대로 코드로 옮기면 되는 문제였습니다.
대신 해결해야 할 부문이 있습니다. 이 문제에서는 문자열을 '올바른 문자열'과 '균형 잡힌 문자열' 두 가지로 나누고 있었습니다. 그래서 어떤 문자열이 올바른지 혹은 균형이 잡혀 있는지 확인하는 테스트를 만들어야 합니다.
괄호는 무조건 열리고 나서 닫힙니다. 닫히고 나서 열리는 괄호는 통상적인 의미의 괄호가 아닙니다. 따라서 어떤 임의의 문자열을 처음부터 끝까지 읽으면서 닫히는 괄호의 개수가 열리는 괄호의 개수보다 많은 순간이 단 한번이라도 있다면 그것은 최소한 '올바른 문자열'은 아닐 것입니다.
그래서, 어쩌란 것인가? 올바른 문자열일 수도 있고 균형만 잡힌 문자열일 수도 있습니다. 이 둘만 구분하면 문제에서 지시하는 대로 따라 코드를 치기만 하면 됩니다.
'일간임무' 카테고리의 다른 글
[일간임무] - 수식 최대화 (0) 2021.10.24 [일간임무] - 거리두기 확인하기 (0) 2021.10.23 [일간임무] - 메뉴 리뉴얼 (0) 2021.10.18 [일간임무] - 짝지어 제거하기 (0) 2021.10.15 [일간임무] - 타겟 넘버 (0) 2021.10.14