목록Activity (37)
데이터 꿈나무
기록해두면 좋을 알고리즘 문제를 회고하면서, 더 기억에 담고자 글을 작성하게 되었습니다.😊회고 및 느낀점금방 풀 수 있을 것 같다고 느껴졌는데, 고민하는데 시간이 조금 더 걸렸다. 배열 a와 배열 b가 처음부터 같은 리스트일 수도 있다. 이것이 나중에 생각이 나서 맨 앞쪽에 추가했다.마지막 원소부터 인덱스 1의 원소까지 반복문을 돌려야 하는 문제였다.그리고 최댓값의 인덱스를 구했어야 했다. '리스트.index(값)' 으로 구해야 하는 것도 생각이 나지 않아, 방법을 검색해봤다.처음에는 인덱스로만 값을 비교(현재 원소가 인덱스와 같은지 비교)하는 것을 활용하지 않았었다.그러다가 생각이 꼬여서 다시 처음부터 생각했다. 그랬더니 이런 방법으로 풀면 됐었구나..! 라는 것을 깨달았다. 'a[last], a[m..
KT_Aivle School의 코딩마스터스가 시작되었다! 기록해두면 좋을 문제들은 기록해두고자 글을 작성하게 되었다.코드 자세한 설명은 주석을 달아놓았으니 참고하면 되겠다..!! 문제 설명 두정동에는 N개의 아파트 단지가 일직선상에 존재합니다. 각 아파트 단지에는 1번부터 N번까지 번호가 붙어있습니다. 두정동 동사무소에서는 아파트 단지 중 한 곳에 분리수거장을 지으려고 합니다. 분리수거장으로부터 각 주민들까지의 거리의 합이 최소가 되도록 하려면 어떤 아파트 단지에 분리수거장을 지어야 하는지 구하세요. 분리수거장으로부터 어떤 주민까지의 거리는 분리수거장이 있는 아파트 단지의 위치와 해당 주민이 거주하는 아파트 단지의 위치의 차로 계산됩니다. 단, 조건을 만족하는 아파트 단지가 여러개일 경우, 더 작은 번..
DataFrame Mergeimport pandas as pd Inner joindata1 = { '학번' : [1, 2, 3, 4], '이름' : ['아이유', '김연아', '홍길동', '강감찬'], '학과' : ['철학', '경영학', '컴퓨터', '물리학']}data2 = { '학번' : [1, 2, 4, 5], '학년' : [2, 4, 3, 1], '학점' : [1.5, 2.0, 4.1, 3.8]}df1 = pd.DataFrame(data1)df2 = pd.DataFrame(data2)display(df1)display(df2)# inner join -- 일치되는 것만 mergeinner_df = pd.merge(df1, df2, on='학번', how='inne..
데이터 변경import numpy as npimport pandas as pddf = pd.read_csv('./data/student.csv')display(df) 컬럼 생성# '등급' 컬럼 생성df['등급'] = 'A'display(df)# 성적에 따라 등급 부여grade = np.array(['B', 'D', 'B', 'C', 'A'])df['등급'] = gradedisplay(df)# 나이를 의미하는 age라는 시리즈 생성age = pd.Series([21, 20, 24, 23, 28])# 데이터프레임내 나이 컬럼을 만들고 시리즈를 값으로 할당df['나이'] = agedisplay(df) 인덱스 설정 및 리셋df.indexRangeIndex(start=0, stop=5, step=1)df.ind..
데이터 선택넘파이 실습 # 라이브러리 로딩import numpy as np# 파이썬 리스트에서 넘파이로 변환a = [1, 3.14, True, 'hello'] # 리스트b = np.array(a)# 리스트 원소 데이터 타입 확인print(a)for element in a: print('Data type of {} : {}'.format(element, type(element)))[1, 3.14, True, 'hello']Data type of 1 : Data type of 3.14 : Data type of True : Data type of hello : # 넘파이 배열 원소 확인print(b)for element in b: print('Data type of {} : {}'.format(..
정렬 문제인데, 메모리 제한이 있어서 시간이 꽤 걸린 문제였다.무려 '네 번째 시도'만에 성공한 문제. (정답은 아래 '네 번째 시도'에 있습니다.) 📌 첫 번째 시도처음에는 아래와 같이 리스트에 입력값을 모두 담아서 sort를 하려고 했으니 메모리 초과가 나타났다.x = []n = int(input())for _ in range(n): a = int(input()) x.append(a) x.sort()for j in x: print(j) 📌 두 번째 시도조금 더 속도가 빠른 정렬을 찾아보다가 퀵정렬을 사용해봐도 되겠다라는 생각이 들어서, 함수를 구현하고 적용을 시켜보았다.그러나 역시나 메모리 초과.# 퀵 정렬 함수def quick_sort(arr): if len(a..
입력 조건- 첫째 줄에 공간의 크기를 나타내는 n이 주어진다. (1 - 둘째 줄에 여행가 A가 이동할 계획서 내용이 주어진다. (1 출력 조건첫째 줄에 여행가 A가 최종적으로 도착할 지점의 좌표 (X, Y)를 공백으로 구분하여 출력한다. 입력 예시 5R R R U D D출력 예시3 4 L: 왼쪽으로 한 칸 이동R: 오른쪽으로 한 칸 이동U: 위로 한 칸 이동D: 아래로 한 칸 이동 작성한 코드n = int(input())plans = input().split()x, y = 1,1# 'L','R','U','D'에 따른 이동 방향dx = [0,0,-1,1]dy = [-1,1,0,0]move_type = ['L','R','U','D']for plan in plans: # plan 하나당, f..
안녕하세요~ 이번 포스팅은 InI파일을 읽어와 파일 안에 원하는 텍스트가 있는지 확인하고, 있으면 ‘y’ 없으면 ‘n’를 출력하도록(리스트에 정보를 담도록) 하는 작업을 진행해볼거예요..! 지난 포스팅 코드에서 일부를 추가한 작업이니, 아래 글을 참고해주세요😊 https://risingdata.tistory.com/67 [Python_ts3] cv2 모듈 이미지 띄우고 키 값 리스트에 저장하기(cv2.imread, cv2.waitKey) 안녕하세요~ 이번에는 cv2 모듈을 통해 이미지를 띄우고, 사용자가 누르는 키 값을 리스트에 저장하는 task를 해보려고 해요. os모듈과 반복문을 통해 라벨링된 초음파 이미지 데이터를 창에 띄우 risingdata.tistory.com 우선 아래 코드까지는 저번 포스팅..
안녕하세요~ 이번에는 cv2 모듈을 통해 이미지를 띄우고, 사용자가 누르는 키 값을 리스트에 저장하는 task를 해보려고 해요. os모듈과 반복문을 통해 라벨링된 초음파 이미지 데이터를 창에 띄우면서, 라벨링이 제대로 된 데이터(이미지)인지 확인하기 위한 자동화 툴을 구현해볼거예요. 이미지를 자동으로 창에 띄우면서 제가 'yes'나 'no'를 누르며 이 이미지의 라벨링이 잘 되었는지 저장해주는 코드인거죠..! 빈 리스트에 'yes'나 'no'값을 저장해나갈거랍니다.😊 데이터는 아래와 같이 생겼는데요, 왼쪽은 라벨링이 잘 된 상태, 오른쪽은 라벨링이 잘 되지 않은 상태입니다. os모듈에 대한 포스팅은 이전 포스팅에서 진행했었는데요, 사용법을 참고하고 싶으시면 아래 글을 확인해주세요 :) https://ri..
📌 그래프의 정의 정점과 간선으로 이루어진 비선형 자료구조 📌 그래프 용어 정점(Vertice) : 노드라고도 한다. 정점에는 데이터가 저장된다. 간선(edge) : 링크라고도 한다. 정점간의 관계를 나타낸다. 인접 정점 : 간선에 의해 연결된 정점. (갈 수 있는 점) 단순 경로 : 경로에 중복되는 정점과 간선이 없는 경로 📌 방법 2차원 배열로 간선을 표현하는 방식 : 두 정점 사이에 간선이 있는지를 한번에 찾을 수 있다. : 구현이 간단하다는 장점이 있지만, 공간 복잡도가 제곱으로 공간 성능이 안 좋다. 시간 복잡도도 좋지 않다. 리스트로 간선을 표현하는 방식 : 두 정점 사이에 간선이 있는지를 일일이 확인해야 한다. : 각 노드마다 리스트가 하나씩 있다. : 구현이 다소 복잡하다는 단점이 있지만,..