CodingTest/Python Grammar Notes 11

[Python] 정규 표현식 (Regular Expression, RE)

🔍 Regular Expression HOWTO 문자열 문제(백준의 9342)를 푸는 도중 감이 잡히지 않아 다른 사람들의 풀이를 참고하였는데, 정규 표현식을 사용하면 쉽게 풀 수 있는 문제였다. 이론은 대학교 수업 시간에 배운 바 있지만, 파이썬에서는 어떻게 사용하는지 몰랐기에 이참에 정리해 보고자 한다. 공식 문서와 점프 투 파이썬 등을 참고하여 작성하였다. 모든 내용을 다룬 것은 아니기에, 공식 문서 등을 참고하면 좋을 것 같다. 📃 정규 표현식(Regular Expressions) 정규 표현식(Regular Expressions)은 간단히 정규식, RE, regexes 또는 regex 패턴 등으로 줄여 부름 정규 표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어임 쉽게 ..

[Python] 정렬 (sort & sorted, reverse, key)

🔍 Sorting HOW TO 단어 정렬 문제(백준의 1181)를 풀다가 확실히 정렬에 대해 정리할 필요가 있겠다는 생각이 들어 작성해 본다. 공식 문서를 참고하였고, sort와 sorted 그리고 reverse와 key에 대해서 정리해 보았다. 추가로 파이썬에서 액세스 함수를 더 쉽고 빠르게 만들 수 있도록 제공하는 operator 모듈 함수는 정리하지 않았지만, 알아두면 꽤 쏠쏠할 것 같다. 참고 🗃️ sort() VS sorted() 파이썬에는 리스트를 정렬하는 내장 함수 두 가지가 있음 바로 sort()와 sorted()이며, 둘은 크게 두 가지의 차이점이 있음 1️⃣ 첫 번째 차이점 ◻ sort() 함수는 리스트를 제자리에서(in-place) 수정함 ◻ sorted() 함수는 새로운 정렬된 리스..

[Python] 얕은 복사, 깊은 복사

🔍 얕은 복사, 깊은 복사 프로그래머스의 "가장 먼 노드" 라는 그래프 문제를 풀 때 겪은 일이다. 기존 리스트를 복사하여 새로운 리스트를 만들고, 새로운 리스트를 변경해줬는데 기존의 리스트도 같이 변경되었다. (분명 id 값은 다른데..) 결론부터 이야기하자면, 위의 예시는 mutable 변수 내부에 mutable이 있는 케이스이고, 얕은 복사를 했을 경우 mutable 내부에 있는 mutable 객체들의 메모리 주소는 동일하다. 따라서 같은 객체를 참조하고 있는 상태이므로, 복사한 객체에서 변경을 해도 원본 객체에 영향을 준다. id(a) 값과 id(b) 값은 다르지만, 그 내부의 객체 id(edge[0])과 id(re_edge[0])은 같은 주소임을 확인할 수 있다. 얕은 복사로는 변수간의 독립성이..