applebuddy   4년 전

c++로는 투포인터(?) 방식으로 문제를 해결했는데 동일한 코드로 스위프트에서는 시간초과를 면하기 힘들었습니다. 만약 제가 풀이한 방식이 의도한 방식이 맞다면 스위프트의 시간제한 완화를 부탁드립니다. 감사합니다.

jh05013   4년 전

이 글이 올라온 후에 Swift로 푼 제출이 나왔습니다. 작성하신 Swift 코드가 공개되지 않아서 코드의 문제인지 시간 제한의 문제인지 알 수 없습니다. 코드를 공개해 주시면 좋을 것 같습니다.

참고로 저 코드는 이분탐색보다 빠릅니다. 투 포인터 알고리즘에 대해 알아 보세요.

applebuddy   4년 전

네 저도 풀수 있다는 것을 확인했는데요 그래도 너무 난이도에 비해서 제한이 깐깐하지않나 하는 생각은 여전히 있습니다. 좋은 의견 감사합니다 ^-^ 스위프트 코드는 위의 cpp 소스코드 그대로 적용했다고 보시면 됩니다. 스위프트의 경우 입력부분에서 시간지연이 많은것으로 보고 있습니다. 

applebuddy   4년 전

소스도 남겨놓습니다. 

즐거운 주말되시고 좋은 의견 다시한번 감사합니다 ^-^ 

jh05013   4년 전

통과된 코드는 fread를 사용했군요.

Swift가 C++의 속도에 맞출 수 없다면 다른 언어들처럼 일괄적으로 시간 보너스를 주는 방법도 있는데, 실제로 어느 정도인지는 Swift 사용자가 아니라서 모르겠습니다.

jh05013   4년 전

투 포인터는 최악의 경우에도 O(N)입니다.

adx와 bdx는 늘어나기만 하지 줄어들지 않기 때문에, 루프 전체에서 총 O(N)번만 늘어납니다.

danimartinwife   4년 전

지나가다가 질문드리고자 답글로 달겠습니다. 다름이 아니라 스위프트는 주로 ios앱개발에서 많이 쓰이는데 저같은 경우 알고리즘 문풀용 언어랑 개발용 언어를 따로 정해놓는 느낌이라ㅠㅠ 입출력 문제 때문에 고통을 겪다 보니 개발용(?)언어로는 알고리즘 문풀을 잘 안하게 되는데 이 부분을 어떻게 극복하셨는지에 대한 노하우를 부탁드립니다ㅜㅜ (반대로 알고리즘 문풀용 언어로는 개발을 또 못하겠더라구요;;)

applebuddy   4년 전

danimartinwife님 안녕하세요 ㅎㅎ

관련해서 얘기 나누고 싶으시면 제 정보 소개글의 swift 알고리즘 클럽 방 들어와서 질문 주세요. 토의 나눠보면 좋을 것 같습니다. 

chh0107   4년 전

지나가다 댓글 남깁니다. 저는 현재 iOS 개발을 하고 있고, Swift로 PS를 하고 있습니다. 저 같은 경우는 처음에는 취업용으로 swift 문제 풀이를 시작했다가, swift의 가능성의 극한을 보고 싶어서 계속 swift로 문제를 풀고 있습니다. swift 문법 다루는 데에는 확실히 도움이 되었고요. swift가 어떤식으로 데이터를 다루고, 어떻게 최적화를 해야할 지에 대한 어느정도의 감을 얻었습니다. 개발용 언어(이러한 말도 좀 이상하지만, 윗 답글에 나온 단어를 그대로 사용하겠습니다.)로 ps를 하는 건, 언어의 기본 문법과 구조에 대해서 깊게 이해한다는 측면에서 접근하면 도움이 되지 않을까 합니다 ㅎㅎ 물론 근성이 좀 필요한 일입니다... 단순히 문제를 푸는 것 자체는 당연히 그에 유리한 언어를 선택하는 게 좋을 수도 있습니다.

danimartinwife   4년 전

@applebuddy 채팅방 들어왔습니다! 링크 감사합니다:)

@chh0107 어떤 말씀이신지 알 것 같습니다. c++은 확실히 시간이나 문제 풀이에만 최적화된 라이브러리가 자바에 비해 잘되있는것도 사실이죠. 반대로 개발할땐 자바가 실용적인 라이브러리가 많아서 더 편하구요. 그런데 취업용으로 swift를 지원하는 회사들이 많나요? 삼성은 아예 c++, 자바, 파이썬(그것도 B형에선 파이썬 지원안함)밖에 없고, 대부분 저 세가지 언어만 지원하더라구요. 프로X래머스 기반일 경우 코틀린이나 자바스크립트 정도 추가되기도 하지만...

chh0107   4년 전

@danimartinwife 그건 좀 알아보셔야 되는데, 점점 늘어나는 경향이 있습니다. 프로X래머스 쓰면 대부분 지원해주긴 하지만요. 코틀린 지원할 정도면 스위프트도 지원하는 경우가 많습니다. 

applebuddy   4년 전

만약 iOS개발 직무에 지원하신다면 swift 지원이 거의 다 있습니다. 

만약 공채와 좀더 넓은 범위의 지원을 원하시면 swift 만으로는 제한이 있다는걸 감안하셔야 할 것 같습니다. 

댓글을 작성하려면 로그인해야 합니다.