자료구조 5

데이터 구조 - (1) 자료구조, 알고리즘, 재귀

ㅈ자료구조 데이터를 저장, 조직, 관리할 때 사용하는 방법을 말한다. 컴퓨터 프로그래밍 언어에서는 효율적인 데이터의 형태를 사용하는 것이 중요하다. ​ 출처 : 쉽게 배우는 자료구조 with 파이썬 ​ 자료구조는 아래와 여러 종류로 나뉘어진다. 출처 : 쉽게 배우는 자료구조 with 파이썬 ​ ​ 동일한 type을 가지는 배열, 리스트 중간에 데이터를 삽입하거나 삭제할 때 사용하는 링크드 리스트, 행과 열을 가진 2차원 데이터를 사용할 때는 행렬, LIFO 방식의 스택, FIFO 방식의 큐 등 다양한 형태가 있다. 자료구조와 알고리즘 자료구조는 부품으로, 알고리즘은 설계도 정도로 표현할 수 있다. 이 둘이 합쳐져 완성품 즉 프로그래밍 언어로 나타낼 수 있다. ​ 알고리즘은 자연어, 순서도, 프로그래밍 언..

대학교 2023.09.11

데이터 분석 - 데이터 추출 및 자료 구조 다루기

1. 데이터 추출 #조건에 맞는 행 추출 df['변수명'] -> 변수의 행을 추출한다. df['변수명']==? -> 조건에 맞는지 True, False로 확인할 수 있다. df[df['변수명']==?] -> 조건에 맞으면 추출한다. #열 추출 df['변수명'] df[['변수명','변수명2']] #조건을 충족하는 행에서 열 추출 df[df['변수명']==?]['변수명2','변수명3'] df.groupby('변수명')[['변수명2','변수명3']] #인덱스 문자열 지정해 행 추출 df.loc['문자열'] #인덱스 문자열 지정해 열 추출 df.loc['문자열','변수명'] #인덱스 번호 지정해 행 추출 df.loc[인덱스 번호] #연속된 행 추출 (시작 이상 끝 이하 추출) df.loc[시작:끝] #조건을 충..

[알고리즘] 백준 2910 파이썬 - 빈도 정렬

2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 문제 위대한 해커 창영이는 모든 암호를 깨는 방법을 발견했다. 그 방법은 빈도를 조사하는 것이다. 창영이는 말할 수 없는 방법을 이용해서 현우가 강산이에게 보내는 메시지를 획득했다. 이 메시지는 숫자 N개로 이루어진 수열이고, 숫자는 모두 C보다 작거나 같다. 창영이는 이 숫자를 자주 등장하는 빈도순대로 정렬하려고 한다. 만약, 수열의 두 수 X와 Y가 있을 때, X가 Y보다 수열에서 많이 등장하는 경우에는 X가 Y보다 앞에 있어야 한다. 만약, 등장하는 횟수가 같다면, 먼저 나온 것이 앞에 있어야 한다..

[알고리즘] 백준 5397 파이썬 - 키로거

5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 문제 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다. 키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다. 강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오. 강산이는 키보드로 ..

[IT지식] 자료구조와 알고리즘 공부를 해야하는 이유?

1. 자료구조와 알고리즘? - 자료 구조는 데이터의 효율적인 접근과 수정을 위해 데이터를 표현하는 방식으로, 알고리즘의 유용한 재료가 된다. 알고리즘은 어떠한 일을 처리하기 위해 정해진 절차나 방식을 표현한 것이다. 2. 자료구조의 종류 - 자료 구조는 '선형'과 '비선형'으로 구분된다. 선형 자료 구조에는 '리스트', '스택', '큐' 등이 있고, 비선형 자료 구조에는 '트리'와 '그래프' 등이 있다. 자료 구조를 제대로 이해해 적재적소에 적용하면 데이터를 효율적으로 송수신할 수 있고, 편리하게 관리할 수 있다. 많은 알고리즘 중에 자주 공부하는 알고리즘은 '정렬', '탐색'이다. 이 알고리즘은 데이터를 순서에 맞게 정렬하거나 찾는 것이다. 정렬 알고리즘에는 '버블 정렬', '병합 정렬', '퀵 정렬'..

IT지식/나머지 2022.10.24