파이썬알고리즘인터뷰
4 posts
[파이썬알고리즘인터뷰] 6.6 가장 긴 팰린드롬

👩‍💻문제 가장 긴 팰린드롬 부분 문자열을 출력하라 😊풀이 1) 중앙을 중심으로 확장하는 풀이(투포인터) 📌 얻어갈 점 함수에서 key인자를 사용할 수 있다.([Python] max함수와 선택인자(key, default)) 예외처리를 통해서 코드의 속도를 향상 시킬 수 있다. 👩‍💻문제 😊풀이 1) 중앙을 중심으로 확장하는 풀이(투포인터) 📌 얻어갈 점

July 16, 2023
파이썬알고리즘인터뷰
[파이썬알고리즘인터뷰] 6.3 로그 파일 재정렬

👩‍💻문제 로그를 재정렬하라. 기준은 다음과 같다. 로그의 가장 앞 부분은 식별자다. 문자로 구성된 로그가 숫자 로그보다 앞에 온다. 식별자는 순서에 영향을 끼치지 않지만, 문자가 동일할 경우 식별자 순으로 한다. 숫자 로그는 입력 순서대로 한다. ❤ 직접 풀이 🤍 생각의 흐름 공백 기준으로 split 식별자와 문자로그, 숫자로그를 분리해서 생각(문자, 숫자 판별이 필요) 람다 표현식 쓰면 될텐데 난 람다 표현식 모른다… 🤍 split과 join, sort를 이용한 풀이 딕셔너리를 사용할 정도의 지저분함을 느끼며 종료… 역시 람다 표현식을 사용해야 할 것 같다. 🤍 split과 join, sorted(lambda) 이용한 풀이 😊 파이썬 알고리즘 인터뷰 풀이 1) 람다와 + 연산자를 이용 📌 얻어갈 점 람다 표현식은 필수다… 람다 표현식 공부해 둘 것! 람다 표현식에 대해 잘 정리되어 있는 블로그 링크를 첨부한다. (https://gorokke.tistory.com/38) 👩‍💻문제 ❤…

July 15, 2023
파이썬알고리즘인터뷰
[파이썬알고리즘인터뷰] 6.2 문자열 뒤집기

👩‍💻문제 문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라. ❤직접 풀이 🤍 생각의 흐름 파이썬에서 문자열을 뒤집는 가장 보편적인 방법을 사용한다. 하지만 Wrong Answer로 판별 된다… 그럼 reverse() 함수를 사용한다. 깔끔하게 해결된다! 😊 파이썬 알고리즘 인터뷰 풀이 1) 투 포인터를 이용한 스왑 Untitled 📌 얻어갈 점 아주 전통적인 풀이 방식이다. 😊 파이썬 알고리즘 인터뷰 풀이 2) 파이썬 다운 방식 📌 얻어갈 점 reverse()는 리스트에만 제공된다. s[::-1]가 안된다고 했더니 알고보니 변수 할당을 처리하는 데 제약이 있다고 한다… s[:] = s[::-1]은 잘 돌아간다고 하는데… 이걸 어케…? 👩‍💻문제 ❤직접 풀이 🤍 생각의 흐름 😊 파이썬 알고리즘 인터뷰 풀이 1) 투 포인터를 이용한 스왑 📌 얻어갈 점 😊 파이썬 알고리즘 인터뷰 풀이 2) 파이썬 다운 방식 📌 얻어갈 점

July 14, 2023
파이썬알고리즘인터뷰
[파이썬알고리즘인터뷰] 6.1 유효한 팰린드롬

👩‍💻문제 주어진 문자열이 팰린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문자와 숫자만을 대상으로 한다. 😊풀이 1) 리스트로 변환 📌 얻어갈 점 : 영문자, 숫자 여부를 판별하는 함수 파이썬의 리스트는 pop() 함수에서 인덱스를 지정 가능 😊풀이 2) 데크 자료형을 이용한 최적 📌 얻어갈 점 [Python] 데크(deque)와 리스트(list) 리스트에서는 pop(0), 데크에서는 popleft() 사용 데크는 O(1), 리스트는 O(n)이므로 데크의 속도가 훨씬 빠름 😊풀이 3) 슬라이싱 사용 📌 얻어갈 점 는 정규 표현식이다.([Python] 정규 표현식과 re 모듈) : 파이썬에서 정규 표현식을 사용할 때 쓸 수 있는 모듈 : sub는 정규식과 매치되는 부분을 다른 문자로 바꾸는 메서드 s[::-1] : 문자열을 뒤집는 방법 중 하나 파이썬의 정규식과 슬라이싱을 이용하면 더 좋은 속도와 간결한 코드 구현 가능 문자열 슬라이싱을 사용하는 이유 슬라이싱은 위치를 지…

July 13, 2023
파이썬알고리즘인터뷰