코딩테스트/그외(소프티어 등)

소프티어 21년 재직자 대회 예선 문제 풀이/코드 파트1 (파이썬)

RyanKwon 2021. 12. 19. 21:30
728x90

한동안 소프티어 문제를 안 풀어보고 있엇는데, 이제 찐 취준 시즌이 다가오고있어서 현대차 문제좀 다시 익혀볼까 싶어서 간만에 소프티어에 들어갔다. 많은 문제들이 추가됐는데, 사실 소프티어 자체가 해답을 볼 수 있는 곳이 거의 없어서 일단 좀 쉬운 문제들..위주로 풀어봤다.

 

이번 글에서 다룰 문제는 총 세개인데, 비밀메뉴 문제, 전광판 문제, 이미지 프로세싱 문제 이렇게 세개이다.

 

사실 이 세 문제는 코딩테스트 연습 좀 했다- 하는 사람이라면 거의 다 풀 수 있는 문제라서 블로그에 업로드를 할까~ 말까~ 고민을 했는데 , 간략하게라도 올려야겠다고 생각했다.

 

 

첫번째, 비밀 메뉴. 별 두개짜리, 정답률은 36%이다.

 

해설 코드만 궁금한 분은 깃허브 링크 눌러주세요!

 

GitHub - Rhyankwon/algorithms

Contribute to Rhyankwon/algorithms development by creating an account on GitHub.

github.com

 

문제 설명 ㄱㄱ

 

Softeer

Problem을 담을 Box를 선택해 주세요. 취소 확인

softeer.ai

 

 

 

 

간단하게 얘기하면, 3 3 1 2 4 1 4 5 1 4와 같은 어떤 수열에서 1 4 5 와 같은 주어진 부분수열이 들어있는지 확인하면 되는 문제이다. 아주 간단한 슬라이딩 윈도우..?(이렇게 부르는거 맞나) 문제. 딱히 최적화시키라는 요구도 없고 쉽다. 주어진 긴 수열을 앞에서부터 뒤까지 훑으면서 내가 확인하고자 하는 부분수열과 동일한 부분이 있으면 secret을 출력하면 됨. 

 

 

 

 

 

 

 

두번째 문제, 전광판. 별 두개, 47% 정답률.

 

코드만 궁금한 분은 깃허브 링크 눌러주세요

 

GitHub - Rhyankwon/algorithms

Contribute to Rhyankwon/algorithms development by creating an account on GitHub.

github.com

 

문제 설명 ㄱㄱ

 

Softeer

Problem을 담을 Box를 선택해 주세요. 취소 확인

softeer.ai

 

 

1~9의 숫자는 총 7 구간의 조합으로 나타낼 수 있다. 노래방 번호 입력할때 그.. 그 LED판 생각하면 됨. 그리고 숫자가 두개 주어질 때 앞 번호에서 뒷 번호로 이동할 때 총 변화가 몇번 일어나야 하는지 출력하면 되는 문제이다.

 

풀이

 

1. 8모양 LED는 총 7구간으로 돼있으니 각각 0부터 6까지 번호를 매기고 1부터 9까지 몇몇 번호로 구성돼있는지 확인한다. 가령 1은 오른쪽 두개 구간만 켜있으면 되니, 만약 저 부분을 각각 1번 2번이라고 하면 1 : [1, 2] 이런식으로 미리 선언해둔다. 나는 딕셔너리 썼음

2. 각 자릿수마다 돌아다니며 앞쪽 번호, 뒷쪽 번호의 차이를 비교해서 몇 구간이나 차이나는지 확인한다. 이 때 번호가 하나는 5자리, 하나는 2자리 이런 경우 숫자 두개를 한번에 같이 비교하면 인덱스 오류가 날 확률이 크므로 각각 [::-1]을 써서 일의자리부터 미리 확인해두고 그 확인한 값들 끼리 따로 for문을 써서 풀이한다. 해설이 좀 어렵게 느껴질지 모르겠지만.. 나름 정답률 50%에 근접한 문제이니 대충 쓰도록 하겠다. 나는 이렇게 리스트끼리 차이를 비교해야 할 때 집합함수를 자주 쓴다. 집합이 파이썬에서 유용하게 쓰기에 참 좋은 함수이니까 만약 이렇게 풀지 않은 분은 내 코드를 한번 확인해보는것도 나쁘지 않을 듯 싶다. 은근 인덱스 쪽에서 헷갈리기 쉬운 문제인데 역시 슬라이싱은 파이썬 앞쪽에 배우는 내용이라 그런지 정답률이 높다.

 

 

세번째 문제, 이미지 프로세싱. 별 3개, 정답률 21%.

 

딱 보자마자 그래프문제이고 그렇게 어렵지 않게 풀 수 있을거라고 생각했는데 의외로 정답률이 21%다. 흠 이유는 몰겟

 

코드만 궁금한 분은 깃허브 링크 눌러주세요

 

GitHub - Rhyankwon/algorithms

Contribute to Rhyankwon/algorithms development by creating an account on GitHub.

github.com

문제 설명 ㄱㄱ

 

Softeer

Problem을 담을 Box를 선택해 주세요. 취소 확인

softeer.ai

 

 

근처에 있는 부분중 같은 숫자인 것들을 전부 다 임의의 입력받은 숫자로 바꿔주면 된다. 사실 구현이 아주 약~간 까다로워서 별3개이긴 한데 그래프문제를 많이 풀어본 사람이라면 쉽게 풀 수 있을듯 하다. 딱히 풀이가 필요한가 ..? 스택 쓰면 됨. 사이에 약~간 생각할만한 부분이 있어서 만약 맞게 풀었다고 생각하는데, 만약 이걸 누가 보고있다면, 안 되면 조금 생각해보고 내 깃허브 코드를 눌러보길 바란다. 나도 한번 틀렸다고 나와서 보니까 간과한 부분이 있었음.

 

 

 

 

 

 

 

============================================================

 

 

문제가 많아서 일단 쉬운거 세개만 풀었다. 예선문제가 총 7개인데 그중에 남은 4개중 2개는 정답률이 10%다. ㄷㄷ.. 내가 풀 수 있을지 모르겠지만 일단 풀어보고, 풀 수 있으면 다음에 풀이를 올리도록..하겠다..ㅋㅋㅋㅋㅋ 아마 못풀거같긴한데.. 왜냐면 저런 문제는 문제 자체가 어려워서라기보다는 최적화시켜야 답안으로 인정을 해주는 문제들이라 나도 최적화를 못 시킬 가능성이 큼,, 이건 나 스스로를 비하하는게 아니라 애초에 최적화를 요구하는 거 자체가 경력직한테 요구되는 자질이기도 해서... 

728x90