Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- MongoDB
- mongoose
- 정렬
- class
- game
- JavaScript
- Nest.js
- Dinosaur
- typeORM
- nodejs
- Bull
- GIT
- OCR
- dfs
- react
- flask
- Python
- nestjs
- 공룡게임
- Sequelize
- Queue
- TypeScript
- 게임
- jest
- Express
- cookie
- AWS
- 자료구조
- MySQL
Archives
- Today
- Total
포시코딩
12월27일 본문
728x90
Python 문자열 다루기 심화
'abcd'[1:3]
기존에 이런식의 쓰임새만 봐오다가
'abcd'[::-1]
이런 형태를 처음 접했는데
알고보니 문자열 자르는 방법은 [시작:끝]이 아니라 [시작:끝:증가]였다.
이를 통해 문자열을 뒤집는 방법으로 [::-1]이 사용될 수 있다는걸 알게 되었다.
'123456789'[1:5:2] # 24
응용한다면 이런식으로도 사용이 가능한데,
Python 최대 강점이 문자열 쉽게 자르는 이 방법을 쓰는 것이니 앞으로도 유용하게 사용할 수 있을 것 같다.
divmod()
result = divmod(14, 3)
print(result) # (4, 2)
divmod(x, y)에 대해 x를 y로 나눴을 때의 몫과 나머지를 (몫, 나머지)의 형태로 리턴하는 함수다.
이 함수를 사용한다면 몫 구하고 나머지 구하는 두 번의 코드를 쓸 필요 없이
한 번으로 원하는 결과를 받을 수 있다.
Python index()와 find()의 차이
둘 다 값의 인덱스를 찾아 리턴하는 함수인건 같지만
index()는 find()와 다르게 찾는 값이 없으면 에러를 리턴한다.
find()는 찾는 값이 없을 경우 -1을 리턴한다.
def solution(str1, str2):
return str1.find(str2) # -1
solution("ppprrrogrammers", "pppp")
def solution(str1, str2):
return str1.index(str2) # ValueError: substring not found
solution("ppprrrogrammers", "pppp")
* 그리고 제일 중요한 점은 find()는 string에 대해서만 사용 가능하고 index()는 string, tuple, list에서도 사용 가능하다.
집합 자료형 set
코딩테스트 문제에 교집합을 구해야 하는 상황이 생겼는데
set을 이용해 아주 간단히 구하는 풀이가 있어 이번 기회에 제대로 정리했다.
이번 문제에서 사용한 풀이는 다음과 같다.
def solution(s1, s2):
return len(set(s1) & set(s2))
set(list)로 간단히 list를 set 자료형에 담을 수 있고 &을 통해 교집합을 구해 len()으로 개수를 파악했다.
728x90