반응형

PS 16

[파이썬 알고리즘 인터뷰] 파이썬으로 다각도로 풀어보기 모음집

파이썬을 비교적 다른 언어에 비해 능숙하게 다룰 수 있게 된 후에, 각종 알고리즘 사이트 (백준, leetcode 등)에서 파이썬으로 문제를 풀어 왔었다. 다만 그 '효율'에 있어서 의문은 계속 풀리지 않고 있었다. 특히나, 문제를 오롯이 내가 시간을 들여 풀어내는 방식위주로 하다 보니 비슷한 문제는 거의 대부분 풀이 코드가 비슷했다. 이런 고민을 가지고 있던 찰나, 이 책을 만났다. 우선 결론부터 말하자면 책이 좋다. 다만 무겁다. 왜 좋냐면, 우선 정말 많은 문제가 수록되어 있다. 물론, 해당 문제는 거진 대부분 leetcode의 문제다. 바로 이 부분에서 나는 만족했다. 시중에 나온 알고리즘 책은 정말 '학교'에서나 쓸 법한 개념 위주 혹은 '대회용' 이렇게 2가지로 나뉜다. 물론, 코딩테스트와 관..

독서/서평 2022.07.04

[프로그래밍 콘테스트 챌린징] 일명 노란책

일명 노란책으로 알려진 책이다. 표면이 딱 노란색이니까 알기 쉽다. 이 책은 아쉽게도 지금은 절판이라 구하기 쉽지 않다. 도서관에서 빌려보는 수밖에... 이 책은 장단점을 고루 가진 책이다. 장점은 포함하는 범위가 굉장히 광범위하다는 것이다. 종만북 2권을 본 정도의 범위를 포함한다. 근데 한 권이다. 이게 또 단점이 된다. 한 권이기 때문에 압축 정도가 굉장하다. 이 책은 C++로 코드가 되어 있어서, 나는 해당 코드를 이해하고 다시 Python으로 구현했었다. (내가 알고리즘을 푸는데 사용하는 언어는 Python이다.) 그 과정에서 C++만의 간결함, 포인터를 쓰는 이유 등을 깨달을 수 있었다. 그리고 이런 책들은 으레 '더 알아보면 좋은 것들' 같은 내용들이 들어있어서 공부한 뒤에 추가로 찾아볼만한..

독서/서평 2022.05.19

[BOJ][10815번] - 숫자카드 (python)

안녕하세요 Dibrary 입니다. 이번에는 사전형을 써야만 풀리는 문제를 정리해보고자 합니다. 먼저 제가 몇 번을 틀린 방식은 아래와 같습니다. 문제에서 주어진 500000이라는 횟수의 비교를 너무 가벼이 생각했음. list가지고 해결이 안 되길래, set을 이용했음. 그럼에도 안 됨. 우선 500000이라는 횟수는 생각보다 간단하네~ 라고 착각했던게 큰 오판이었습니다. 차례대로 비교를 해 나가야 하는 것이므로, 500000*500000 의 경우의 수가 있죠... ... 그래서 리스트로 접근했던 아래 코드는 시작도 못해보고 시간초과에 걸렸습니다. sys.stdin.readline 을 이용해서 입력을 받았음에도 말이죠. 그래서 set으로 담으면 괜찮을까? 싶어서 set으로 시도를 해보았는데, 역시나 시간초..

[leetcode][821] - Shortest Distance to a Character

안녕하세요 Dibrary입니다. 이번에는 leetcode의 821번 문제를 정리하겠습니다. c로 주어진 문자를 기준으로 좌우 거리마다 1씩 증가하되, c문자를 또 만나면 좌우가 대칭으로 숫자가 들어가야 합니다. 제일 먼저 든 생각은 이랬습니다. c로 입력된 문자를 뽑아내어서 index를 찾는다. 그 index 주위로 +-를 계산한다. 이렇게 하면 맨 앞부분, 맨 뒷부분은 해결이 되는데, 좌 우가 같은 경우는 도저히 해결이 안 되는 겁니다. 예를 들면, 아래 처럼 한 후에, index에 해당되는 값부터 다음 index까지를 - 해 나갈 생각이었죠, 근데 그러려면 5는 -4를 해야 하고, 4는 -2를 해야하고, 3은 -1을 해야하니까, 규칙성이 없네요? 이래서 이 문제를 풀려고 온갖 방법을 헤메고 다녔답니다..

알고리즘 책 리스트 - 빨간책, 노란책 그리고 종만북

안녕하세요 Dibrary입니다. 알고리즘을 공부하려면 쉬운 기본 개념부터 공부하고, 점진적으로 그 수준을 높여 나가야 합니다. 알고리즘 관련 책은 다행이도 한국에 몇 권 있습니다. 특히나 개발자들 사이에서 통용되는 'OO책' 이런 이름들을 달고있습니다. 널리 알려진 책 중, 제가 직접 읽어본 책만 주관적인 평가를 해 보겠습니다. 비전공자가 공부하고 느낀 점인 셈이죠. 1. 종만북 종만북이라는 이름으로 정말 널리 알려진 책 입니다. 2권으로 구성되어 있으며, 대부분의 풀이에 정당성 해설도 꼭 들어 있습니다. 왜 종만북이냐구요? 저자가 구종만 입니다. ㅎㅎ 책 이름이 너무 길어서 종만북 종만북 하는 것이죠. 저는 이 책을 읽으면서 굉장히 어렵다는 생각이 제일 먼저 들었습니다. 물론, 전부 다 어려운게 아니라..

알고리즘 2022.03.20

[쓰면서 익히는 알고리즘과 자료구조] 나만의 알고리즘 디비 만들기

개발자라면 뗄레야 뗄 수 없는게 '자료구조'와 '알고리즘'이다. 그 중에 이 책은 제목 중 '알고리즘'에 강점이 있는 책이다. 알고리즘은 말 그대로 '문제를 푸는 방법'이다. 초,중,고등학교를 기본교육으로 들은 사람이라면 '수학' 과목을 잊을 수 없을텐데 수학 문제를 푸는 것과 같은 이치인 셈이다. 반드시 생각을 해봐야 하고, 단순히 배운 개념만 가지고는 문제를 푸는데 써먹을 수 없었던 기억이 있을 것이다. 알고리즘도 몇몇 형식화된 그리고 유명한 것들이 존재한다. 문제는 그것들을 아주 완벽히 암기를 했다 하더라도? 실제 주어진 문제에 해당 알고리즘을 사용해야 하는지 아닌지를 판별할 수 없다. 그럼 이 책은 그 방법을 알려주는가? 그것도 아니다. 그러나, 이 책의 강점은 내 생각을 정리할 수 있는 하나의 ..

독서/서평 2022.02.21
반응형