튜플 파이썬

Ryan Kim
2 min readMar 17, 2021

--

2019 카카오 겨울 개발자 인턴십 문제 2번

전혀 어렵지 않지만, 손이 많이 가는 카카오 겨울 개발자 인턴십 문제 2번, 튜플이다.

문제 설명은 아래와 같다.

저 중괄호가 문자열로 같이 주어지는 게 좀 번거롭다.
후, 문자열 표현을 바꾸는 게 쉽지 않다.

아마 이 글을 읽으러 오는 사람은 문제 설명이 아니라 답을 보러 왔을테니 정답 설명으로 바로 넘어가겠다.

코드가 그렇게 길지 않은 것을 알 수 있다.

먼저 이 문제에서 제일 번거로운 상황은 input 값을 중괄호를 포함해 모두 문자열로 전달해준다는 점이다.

아마 리스트나 튜플 형태로 자료형을 만들어 전달해줬다면 훨씬 수월했을텐데, 아마 출제자는 주어진 input에서 불필요한 값을 어떻게 소거해 나가는지 보고 싶었던 것 같다.

그래서 2번째 줄, 그리고 5 ~ 13번째 줄은 문자열 내에서 중괄호가 양 끝에 2개씩 있을 경우, 삭제해 나가는 과정을 작성하고, case 변수에 넣는다.

14 ~ 15번째 줄은 주어진 문자열에서 중괄호를 제거 후, 실제로 결과 값에 도출해야할 정수 요소가 한 개 밖에 없다면 그 값을 이중 배열 처리해 바로 반환해준다.

16번째 줄은 중괄호가 삭제되었다면 이제 주어진 input값을 리스트 길이에 따라 정렬해놓고 정답을 도출해야하기 때문에 람다 함수를 사용해 리스트 길이에 따라 정렬했다.

이제 정렬된 문자열 내에 있는 “,” 쉼표를 기준으로 내용물을 정수로 반환해 result라는 변수에 이중 배열 형태로 추가한다.

최종 정답을 처리하는 구간은 19 ~ 23줄로 answer 요소 값 내에 없는 요소들을 result에서 찾아가면서 하나씩 추가하면 2번째 이미지에서 원하는 형태의 결과를 찾아낼 수 있다.

문자열을 충분히 가공해줘야 정답에 접근할 수 있는 문제였다.

정답을 찾아보지 않고, 내 스스로 정답을 찾은 것에 보람을 느낀다.

Ryan

--

--

Ryan Kim
Ryan Kim

No responses yet