
Strings - Find a string (Python)
2023. 1. 12. 20:01
알고리즘/HackerRank
Summary string 관련 함수를 사용해서 푸는 문제였다. 나는 어떤 함수를 사용해야하는지 몰라 for 반복문으로 열심히 풀어보고 있다가 잘 안되서 찾아보니 startswith() 라는 함수가 있었다. startswith() 함수 를 사용해서 문자열이 특정 문자열로 시작하는지 확인할 수 있다. 따라서, 이 함수를 사용해서 문제를 풀 수 있었다. 코드를 보면 string 의 각 문자만큼 반복문을 돌려주었다. for i in range(0, len(string)): 그리고 앞의 문자 하나씩 제외하면서 sub_string 의 문자열을 포함하고 있는지 찾아주었다. if string[i:].startswith(sub_string): cnt = cnt + 1 만약 포함하는 문자열이 있다면 카운트를 증가시켜주었..

Basic Data Types - Nested Lists (Python)
2023. 1. 11. 18:09
알고리즘/HackerRank
Summary 이 문제는 리스트를 응용해서 풀 수 있게 만들어진 문제로 보인다. N 명의 학생의 이름과 점수를 순서대로 입력받아 처리해주어야 한다. 예제를 보면 알 수 있듯이 이름 - 점수 - 이름 - 점수 순으로 입력된다. 문제에서 원하는 결과는 두 번째로 낮은 점수를 가진 학생을 이름순으로 정렬해서 출력하는 것이다. 그래서 단순하게 이름과 점수를 하나의 리스트 [이름, 점수] 로 저장했고 등급을 하나 더 저장했다. 이렇게 한 이유는 일단 점수를 저장해서 두 번째로 낮은 점수를 가져오고 가져온 점수로 검색해서 이름을 출력해야겠다고 생각했다. stds = [] scores = [] for _ in range(int(input())): name = input() score = float(input()) s..

[Python] Basic Data Types - Lists
2023. 1. 10. 18:31
알고리즘/HackerRank
Summary 파이썬의 리스트에 대해서 얼마나 이해하고 있는지 확인할 수 있고 리스트에서 사용할 수 있는 기본적인 함수들을 사용해서 풀 수 있는 문제였다. 문제에서 필요로 하는 옵션은 다음과 같았다. insert append remove pop sort reverse 이런 옵션을 사용해서 리스트에 추가, 삭제, 정렬 등의 기능을 수행하는 문제였다. 그리고 문자를 입력해 문자열을 나누어 명령어와 값 그리고 인덱스를 구분해서 사용해주어야 했다. 이 부분은 다음과 같이 split() 을 사용해서 문자열을 나누어 구분해줄 수 있었다. cmd = input_str.split() split 함수는 기본적으로 공백을 기준으로 문자열을 나누어준다. 원하는 문자로 나누고 싶으면 다음과 같이 괄호 () 안에 문자열을 나누..

Python List Comprehension
2023. 1. 8. 20:47
프로그래밍 언어/Python
List Comprehension List Comprehensino (이하, 리스트 컴프리헨션) List 는 파이썬의 리스트를 Comprehensions 의 사전적 의미는 이해 또는 이해력 이라고 해석해볼 수 있다. 즉, 리스트 이해, 리스트 축약, 리스트 해석, 리스트 표현식 등의 표현으로 주로 사용된다고 한다. 리스트 컴프리헨션)에 대해서 이해하기 전에 파이썬의 리스트에 대해서 이해할 필요가 있다. 파이썬의 리스트가 특이한 점은 리스트 안에 반복문과 조건문을 사용할 수 있다는 점이다. 리스트 컴프리헨션은 파이썬의 반복문과 조건문을 보다 쉽게 사용해서 리스트를 만드는 방법을 말한다. 이렇게 이해한 내용을 토대로 예시를 들어가면서 정리해봤다. 1) 반복문을 통해 리스트 생성 반복문을 통해 리스트 컴프리헨..

Basic Data Types - List Comprehensions (Python)
2023. 1. 8. 19:54
알고리즘/HackerRank
Summary 이 문제는 List Comprehensions 를 통해 풀어보라고 내준 문제인 것으로 보였다. 그래서 List Comprehensions 에 대해서 먼저 알아야할 필요가 있었다. List Comprehensions 에 대해서 간단하게 정리하고 넘어가자면 리스트를 보다 쉽게 만들기 위한 방법이라고 생각하면 된다. 예를 들어, 이 문제를 풀기 위해서 반복문을 통해 문제를 풀어보았다. result = [] for i in range(0, x+1): for j in range(0, y+1): for k in range(0, z+1): if i+j+k != n: result.append([i,j,k]) 이렇게 반복문을 통해 리스트를 만들어도 해결할 수 있지만 List Comprehensions 를 ..

2. 공공데이터포털 데이터 전처리하기 (1)
2022. 12. 31. 20:47
데이터 엔지니어링/Airflow
개요 공공데이터포털에서 데이터를 json 타입으로 가져오는 것까지 해봤고 데이터를 가져오는 과정을 Airflow DAG 로 만들어 작업을 수행해 원하는 디렉토리에 저장하는 과정까지 해봤다. 이번에는 그렇게 가져온 json 타입의 데이터를 가져와 원하는 데이터로 만드는 과정을 진행해보려고 한다. 그렇게 원하는 데이터가 만들어지면 Mysql 에 테이블을 생성하고 테이블에 저장하는 과정까지 생각하고 있다. 그래서 나는 Pandas 를 사용해 전처리를 진행하려고 하고 이러한 과정을 jupyter Notebook 에서 사용해보려고 한다. 해보기 앞서, 나는 다음과 같이 데이터를 만들어보고 싶다. 아래와 같이 컬럼명으로 되어있는 시간을 값으로 넣고 그 시간에 대한 혼잡도를 같이 넣고 싶었다. 하고나서는 쉬울줄 알았..
파이썬 print() 함수 줄바꿈 없이 출력
2022. 12. 19. 17:53
프로그래밍 언어/Python
파이썬의 print() 함수는 기본적으로 줄바꿈을 적용한다. 따라서, 줄바꿈 없이 출력하려면 다음과 같이 옵션을 적용해주어야 한다. 기본적으로 print() 함수의 사용법은 다음과 같다. Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep:..
파이썬 크롤링 공부 - requests, beautifulsoup4 라이브러리
2020. 7. 31. 23:37
프로그래밍 언어/Python
간단하게 url을 통해 HTML 페이지를 요청하고 HTML 페이지를 파싱해서 title 태그를 가져오는 실습을 진행해보았다. 실습한 과정을 간단하게 정리해본다. 1. 파이썬 설치하기 파이썬을 설치하는 방법은 여러가지가 있는데 Homebrew 를 사용해서 설치해보았다. Homebrew intall for MacOS : brew.sh/#install /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" homebrew 설치 후 파이썬 설치 brew install python python 설치 후 버전 확인 python --version 2. beautifulsoup4 , requests ..