본문 바로가기
  • AI 개발자가 될래요

python10

[코테준비/Python] 문제풀이 Tips / 시간 정렬 [코테준비] 문제풀이 Tips 시간 정렬시간에 대한 문자열 리스트가 있을 때, 이를 정렬하려고 한다.timetable = ["09:10", "09:09", "08:00"] 이를 그대로 정렬하면 원하지 않은 결과를 얻을 수 있다.따라서, HH:MM 형태로 되어있는 시간을 분 단위로 바꿔줄 필요가 있다. timetable = [int(i[:2])*60 + int(i[3:]) for i in timetable] 시간에 60을 곱해서 분으로 바꾼 뒤 더해줬다. 시간에 대한 정렬을 할 때는 단위를 변환할 필요가 있다는 것을 알아두자. 2025. 2. 6.
[Python] deque의 개념과 사용법, 장점 [Python] deque의 개념과 사용법, 장점 deque란?양방향 큐(queue)로, 앞, 뒤 양쪽 방향에서 엘리먼트(element)를 추가하거나 제거할 수 있다. deque의 장점양 끝 엘리먼트의 append와 pop이 압도적으로 빠르다.컨테이너(container)의 양끝 엘리먼트(element)에 접근하여 삽입 또는 제거를 할 경우, 일반적인 리스트(list)가 이러한 연산에 O(n)이 소요되는 데 반해, 데크(deque)는 O(1)로 접근 가능하다. deque 사용법우선, 라이브러리 import 를 해줘야 한다.from collections import dequel = [1, 2, 3, 4]d = deque(l) 리스트를 deque()의 입력으로 넣어주면 양방향 큐가 만들어진다. 길이가 정해진 .. 2025. 2. 6.
[Python] 유용한 빌트인 함수 모음 / replace, re.compile, lower, 합집합교집합, Counter, lambda로 sorted() [Python] 유용한 빌트인 함수 모음 .replace('a', 'b')str에 붙여 사용되며, 문자열에 있는 모든 a를 b로 변경.연속해서 사용도 가능하다. 아래 예시를 보자.문자열 11111에서 1을 #으로, 0을 공백으로 바꾸려면 아래처럼 replace를 연달아 사용하면 된다.'11111'.replace('1', '#').replace('0', '') 1이 #으로 바뀐 것을 볼 수 있다.re.compile()정규 표현식.사용하기 전에 import re 를 해줘야 한다.메소드 안에 r'' 형태로 문자열의 규칙을 설명한다.import reanswer = re.compile(r'')예시로 이해하자. '패턴' 변수는 어떠한 문자열의 규칙을 알려주는 정규표현식이다.해석해보면 다음과 같다.1. ()()()로.. 2025. 2. 5.
[Python] 정수로 이진수 or 연산 구현하기 [Python] 정수로 이진수 or 연산 구현하기 이진수의 or 연산은 같은 자리(인덱스)에 있는 숫자 둘 중 하나라도 1이면 1, 둘 다 0이면 0을 출력한다.아래 예시를 보자.파이썬에서 정수를 이진수로 변경하는 빌트인 함수는 bin()이다.이는 앞에 0b가 붙은 스트링 타입으로 출력된다. 9의 이진수 01001과 30의 이진수 11110을 or 연산하면 11111이 나와야 한다.원리대로 한다면, 모든 인덱스를 돌아가며 한 자리 씩 숫자를 비교해야 하는데파이썬에서는 이보다 훨씬 간단한 빌트인 연산자를 제공한다.| 바로 | (or) 연산자이다. 이는 정수끼리 연산해도 이진수의 or 연산 결과를 정수로 출력한다.예시를 보자.9|30 을 출력하면 31이 나온다.이는 01001 or 11110 의 결과인 11.. 2025. 2. 5.