목록분류 전체보기 (307)
코딩하는 해맑은 거북이
해당 글은 백준 2512번 '예산' 문제를 다룬다. 문제 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 설명 해당 문제는 이진탐색으로 해결할 수 있는 문제이다. 주의할 점은 total을 구할 때, mid와 arr[i] 중 최소값으로 구해야하는 점이다. 또한, total이 m보다 크다면, 예산을 초과한 것이므로 end를 mid-1로 줄여서 이진탐색을 다시 해야한다. 코드 n = int(input()) arr = list(map(int, i..
해당 글은 백준 1654번 '랜선 자르기' 문제를 다룬다. 문제 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 설명 해당 문제는 이진탐색으로 O(logN)의 시간복잡도로 해결할 수 있는 문제이다. 이전에 풀었던 나무자르기 이진탐색 문제와 비슷한데, 다른 점은 count를 mid로 나눈 몫의 갯수로 구하므로 mid가 0이 되지 않도록 start는 1부터 진행해야 한다. 코드 k, n = map(int, input()..
해당 글은 백준 4963번 '섬의 개수' 문제를 다룬다. 문제 https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 설명 해당 문제는 DFS나 BFS로 간단하게 해결할 수 있다. 여기서는 DFS를 통해 해결하였고, 1은 섬, 0은 바다로 표시되어 있으므로 카운트를 2부터 시작하여 DFS를 진행하고 결과 출력시 -2를 해주어 섬의 개수를 세어주었다. 그리고 주의할 점은 재귀 한계를 늘려주어야 에러가 발생하지 않는다. 코드 import sys sy..
해당 글은 백준 10816번 '숫자 카드 2' 문제를 다룬다. 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net 설명 해당 문제는 Counter 함수를 사용하여 쉽게 해결하였다. 해당 문제의 정답 비율 30퍼대라 다른 기발한 방법이 있나 의심하면서 제출하였는데, 한번에 통과되었다. 아무래도 단순 리스트로 접근하면 시간초과가 많이 발생한 듯 싶다. 굳이 Counter 함수를 쓰지 않아도 딕셔너리로 +1로 입..
해당 글은 특정 데이터 타입의 열만 가져올 수 있는 select_dtypes 함수를 소개한다. 📌 DataFrame.select_dtypes(include=None, exclude=None) pandas.DataFrame.select_dtypes — pandas 2.1.4 documentation To select Pandas datetimetz dtypes, use 'datetimetz' or 'datetime64[ns, tz]' pandas.pydata.org *예시 데이터 import pandas as pd df = pd.DataFrame({ 'col1': [1, 2, 3], 'col2': ['a', 'b', 'c'], 'col3': [1.1, 2.2, 3.3] }) df.info() 📌 DataF..
해당 글은 아래의 3가지를 다룬다. 📌 relplot 📌 catplot 📌 displot kind 옵션 변경으로 간단하게 여러가지 plot을 그릴 수 있는 함수인 seaborn의 relplot, catplot, displot을 소개한다. 예시 데이터는 seaborn의 기본 데이터 중 자동차 연비 데이터셋인 'mpg'를 불러 사용하였다. *참고: seaborn의 다른 기본 데이터 보러가기import seaborn as sns df = sns.load_dataset('mpg') df 📌 relplotrelplot 함수는 관계형(relational) 플롯을 생성하는데 사용된다.scatterplot() (with kind="scatter"; the default)lineplot() (with kind="line..