반응형

분류 전체보기 268

[파이썬, Python] 백준 2583: 영역 구하기

문제 https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 코드 import sys sys.setrecursionlimit(10**7) m, n, k = map(int, input().split()) ans = [] paper = [(list(0 for i in range(n))) for i in range(m)] for _ in range(k): x, y, dx, dy = map(int, input().split()) for i..

[T-SUM] 8주차 자료 - Pandas를 통한 시계열데이터 분석

오늘의 내용 미리보기 본문 우선 시작에 앞서 몇 가지 설치를 해봅시다. pip install pandas pip install numpy 이 두 모듈을 이용해 파이썬으로 데이터 분석이 가능해집니다. pandas는 파이썬의 데이터 분석 라이브러리입니다. 수치형 테이블과 시계열 데이터를 조작하고 운영하기 위한 데이터를 제공합니다. numpy는 수학 및 과학 연산을 위한 파이썬 패키지입니다. 파이썬으로 수치해석, 통계 관련 기능을 구현할 때 가장 기본이 되는 모듈입니다. 우선 이 두 모듈을 사용하기에 앞서 시계열데이터에 대해서 알아봅시다. 시계열데이터는 일정한 시간 동안 수집 된 일련의 순차적으로 정해진 데이터 셋의 집합입니다. 되게 어려워 보이는 데 쉽게 풀어서 설명하면 무언가에 대한 데이터를 시간에 따라 ..

T-SUM 멘토링 2023.08.10

[파이썬, Python] 백준 1987: 알파벳

문제 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 코드 r, c = map(int, input().split()) board = [list(input()) for i in range(r)] visited = set() ans = 0 dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] def dfs(x, y): global ans visited.add(board[x][y]) ans = max(ans, len(visite..

[파이썬, Python] 백준 5525: IOIOI

문제 https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net 코드 n = int(input()) m = int(input()) s = input() s = s[s.find("IOI"):s.rfind("IOI")+3] start, end = 0, 0 cnt = 0 while end < m: if s[end:end + 3] == "IOI": end += 2 if end - start ==..

[파이썬, Python] 백준 11725: 트리의 부모 찾기

문제 https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 import sys sys.setrecursionlimit(10**7) input = sys.stdin.readline n = int(input()) tree = [[] for _ in range(n+1)] parents = [0 for _ in range(n+1)] for _ in range(n-1): a, b = map(int, input().split()) tree[a].append(b) tree[b].append(a) def dfs(start..

[파이썬, Python] 백준 2468: 안전 영역

문제 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 코드 import copy import sys sys.setrecursionlimit(10**6) n = int(input()) land = list(list(map(int, input().split())) for i in range(n)) ans = [] dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] def dfs(x, y): new_land[x][y] = 0 for i in..

[파이썬, Python] 백준 17413: 단어 뒤집기 2

문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 코드 s = input() stack = [] ans = [] reverse = True for i in s: if i == ' ': while stack: ans.append(stack.pop()) ans.append(i) elif i == '': reverse = True ans.append(i) else: if not reverse: ans.append(..

[T-SUM] 7주차 자료 - Data Structure(List, Tuple, Dictionary), For 반복문

오늘의 내용 미리보기 본문 이번 시간에는 파이썬의 자료구조에 대해서 배워봅시다. 파이썬에는 3가지 자료 구조가 존재합니다. 1. 리스트 2. 튜플 3. 딕셔너리 오늘은 이 세 가지를 배워보고 각각의 차이점에 대해서 알아볼 건데 그전에 'Method'부터 알고 넘어갑시다. Method 메소드는 데이터 뒤에 결합된 function을 뜻합니다. 기본적으로 우리가 사용하던 print와 같이 함수지만 어떤 데이터와 결합하여 사용할 수 있습니다. 예시를 볼까요? upper() 메소드는 입력받은 문자열을 대문자로 반환해 줍니다. 다른 예시도 볼까요? captialize() 메소드는 입력받은 문자열의 첫 글자를 대문자로 반환합니다. 이런 식으로 어떤 자료형과 엮여있는 함수를 우리는 메소드라고 부릅니다. 간단하게 살펴봤..

T-SUM 멘토링 2023.07.20

[파이썬, Python] 백준 4963: 섬의 개수

문제 https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 코드 import sys sys.setrecursionlimit(10**6) dx = [1, 1, -1, -1, 1, -1, 0, 0] dy = [0, 1, 0, 1, -1, -1, 1, -1] def dfs(x, y): land[x][y] = 0 for i in range(8): nx = x + dx[i] ny = y + dy[i] if 0

반응형