목록분류 전체보기 (138)
욤미의 개발일지
[Python] Split - 문자열을 리스트로 만들기 split함수는 리스트를 특정 구분자로 구분하여 문자열로 변환해주는 join 함수와는 반대의 기능을 한다고 할 수 있다.문자열을 일정한 규칙으로 잘라서 리스트로 만들어 주는 함수이다. 사용 방법문자열.split()문자열.split('구분자')문자열.split('구분자', 분할횟수)문자열.split(sep='구분자', maxsplit=분할횟수) 위와 같이 다양한 형태가 있는데, 흔히 첫번째 형태를 가장 많이 사용한다. 그리고 네 번째가 가장 정확한 형태라고 할 수 있는데 이는 어떤 문자열을 구분자를 기준으로 분할횟수만큼 잘라서 리스트로 만들어 주는 것을 말한다.각 파라미터에 대해 자세히 설명하면,sep'sep=' 생략 가능 e.g. 문자열.s..
[Python] Join - 리스트를 문자열로 만들기 파이썬 내장 함수 join을 이용해 리스트를 문자열로 만들 수 있다. join 함수는 리스트(list)를 특정 구분자(separator)로 구분하여 문자열(string)의 형태로 변환해주는 함수다. * 이 때, 문자열(str) 타입이 아닌 다른 타입의 데이터가 리스트에 있다면 에러가 발생한다. 사용 방법 '구분자'.join(리스트명) 위와 같은 형태로 리스트를 문자열로 만들 수 있다. 예시 array = ['apple','banana','grape','cherry'] ' '.join(array) # 빈칸으로 리스트를 연결 # apple banana grape cherry '-'.join(array) # -로 리스트를 연결 # apple-banana-g..

[Python] 2차원 리스트 90도 회전 2차원 리스트 90도 회전 90도 회전했을 때 행, 열이 변하는 규칙을 정리하면 다음과 같다. 회전한 후 행 번호 = 회전하기 전 열 번호 회전한 후 열 번호 = N - 1 - 회전하기 전 행 번호 이러한 규칙을 코드로 나타내면 다음 코드와 같다. 리스트를 시계방향으로 90도 회전하는 일반적인 방법 def rotated(array_2d): n = len(array_2d) # 행 길이 m = len(array_2d[0]) # 열 길이 result = [[0] * n for _ in range(m)] # 회전한 결과를 표시하는 배열 for i in range(n): for j in range(m): result[j][n-i-1] = array_2d[i][j] ret..

[BOJ] 11000 강의실 배정 (Python) 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net 최소힙 자료구조를 사용한다. 시작시간과 종료시간들간의 관계를 생각하면 됨 import sys import heapq input = sys.stdin.readline n = int(input()) times = [list(map(int,input().split())) for _ in range(n)] times.sort(key=lambda x: x[0]) heap = [] heapq.heappush(heap, times[0][1]) for i in range(1,..

[BOJ] 1260번 DFS와 BFS (Python) 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문 더 이상 방문할 수 있는 점이 없는 경우 종료 정점 번호는 1번부터 N번까지. from collections import deque # 정점 개수, 간선 개수, 탐색 시작 정점 n, m, v = map(int,input().spli..

[BOJ] 1439번 뒤집기 (Python) 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 풀이 아이디어1 연속된 숫자는 1개로 처리할 수 있다. 00011100 → 010 으로 봤을 때 가운데 1 한번만 뒤집어도 모든 숫자를 같게 만들 수 있다. 즉 전체 문자열을 확인하면서 0과 1이 시작하는 지점의 개수를 세고 둘 중 작은 것을 뒤집으면 최소 횟수로 숫자를 같게 만들 수 있다. n = str(input()) zero = 0 one = 0 state = '' for i in n: if i == '0' an..