전체 글 (81) 썸네일형 리스트형 [BOJ] 2042. 구간 합 구하기 (Python) 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 이번에는 문제의 목적에 맞게 세그먼트리를 이용해서 구간 합을 구해보자! 이번 문제는 앞선 문제에서 구간 합을 업데이트 하는 기능까지 추가되었다. 구간 합 구하기 문제는 세그먼트 트리의 가장 대표적인 문제 유형이라고 볼 수 있다. 나는 안경잡이 개발자님의 블로그를 참고해서 세그먼트 트리 개념을 익혔다. 원리와 코드가 매우 잘 설명이 되어 있다. 세그먼트 트리에 대해 처음 접하는 분들은 먼저 아래 블로그 글.. [BOJ] 11659. 구간 합 구하기 4 (Python) 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 세그먼트 트리 알고리즘을 공부해야겠다 라고 생각만 하다가 이번 코테에서 제대로 뒷통수 맞고 공부하는 글... 소 잃고 외양간 고치기...^^...껄껄 일단 이 문제는 세그먼트 트리로 문제를 풀기에 앞서 DP로 풀어보는 문제이다! 구간 합이란 i번째 숫자부터 j번째 사이의 숫자 합을 구하라는 뜻이다. 문제의 예제로 설명해보자면 다음과 같이 숫자가 저장이 되어있을 때 5 | 4 | 3 | 2 | 1 2 ~ 3 번째 구간 합을 구하세요! 라고 하.. 쉘 스크립트 파일 실행 허가 거부(.sh permission denied) 쉘 스크립트 파일을 만든 후 바로 실행 시 다음과 같은 메세지를 볼 수 있다. -bash: ./detection_all.sh: 허가 거부 다음과 같이 쉘 스크립트 파일의 권한을 변경해주면 실행이 가능하다. chmod +x filename 그렇다면 +x 의 의미는 무엇일까? 왜 +x를 하는 것인지가 궁금하면 아래 글을 봐주세요:) [Linux command] chmod chmod는 파일의 권한을 바꿔주는 리눅스 명령어다. chmod의 명령어 구성은 다음과 같다. chmod [references][operator][modes] file1 ... 1) 레퍼런스 (reference) 레퍼런스는 해당 파일에 대핸 권한을 누구에게.. think-tech.tistory.com [Linux command] chmod chmod는 파일의 권한을 바꿔주는 리눅스 명령어다. chmod의 명령어 구성은 다음과 같다. chmod [references][operator][modes] file1 ... 1) 레퍼런스 (reference) 레퍼런스는 해당 파일에 대핸 권한을 누구에게 부여할 것인가에 대한 것이다. 2) 연산자 (operator) chmod에서 사용할 수 있는 연산자는 크게 +, -, = 세 가지가 있다. 즉, +는 권한을 추가, -는 권한을 제거, =는 권한을 지정하는 것이다. 3) 모드 (modes) 모드는 어떤 권한을 부여할 것인가 라고 보면 될 것 같다. 만약 쉘 스크립트 실행 시 permission denied 에러를 만났다면 쉘 스크립트 파일을 실행하기 위해 +x 권한을 주면 될 것이다. 그렇다면 현재 내.. [Pandas] DataFrame 모든 행, 열 출력하기 데이터 프레임의 크기가 커지면 화면에 한 번에 다 보여주지 않고 다음과 같이 생략해서 보여줍니다. 이렇게 생략해서 보여주는 것이 당연히 보기에 훨씬 좋고, 효율적입니다. 그러나 종종 전체 데이터를 다 봐야할 때가 있습니다. 특히 열에 대해서요! 그럴 경우 다음과 같이 설정을 해주면 전체 데이터 프레임을 확인할 수 있습니다. pd.set_option('display.max_columns', None) # 전체 열 보기 pd.set_option('display.max_rows', None) # 전체 행 보기 그러나 데이터의 크기가 커지면 전체 출력 시 컴퓨터가 느려지거나 주피터가 감당하지 못할 수도 있다는 점 주의 해주세요! [Python] max 내장 함수와 선택인자(key, default) 내장 함수 — Python 3.10.0 문서 내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍니다. 인자는 정수, 실수 또는 __ docs.python.org 파이썬 내장 함수 중에는 최댓값을 알아서 찾아주는 max()가 있다. 굳이 내가 최댓값을 찾는 코드를 짜지 않아도 되니 간단하지만 너무 편리하고 좋은 기능:) max는 다음과 같이 배열 안에 있는 여러 값들 중 가장 큰 값을 찾아주기도 하고, 두 값 중 더 큰 값을 비교해서 찾아주기도 한다. (반대로 작은 값을 찾을 때에는 min) >>> max([1, 2, 3, 4, 5]) 5 >>> max(3, 5) 5 오늘 이 글을 쓰는 이유는 다.. [BOJ] 14002. 가장 긴 증가하는 부분 수열 4 (Python) 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 가장 긴 증가하는 부분 수열 (최장 증가 수열), LIS라고도 불리는 알고리즘 문제! 굉장히 기초 알고리즘 문제 중에 하나라고 할 수 있다. 최장 증가 수열을 푸는 방법은 크게 다이나믹 프로그래밍(DP), Lower Bound 두 가지 방법이 있다. 14002번 문제의 경우 DP로도 충분히 제한 시간 안에 풀 수 있고, "동적 계획법과 최단거리 역추적"에 포함되어 있으므로 DP로 풀.. [BOJ] 12852. 1로 만들기 2 (Python) 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net 다이나믹 프로그래밍의 bottom-up 방식으로 풀 수 있는 가장 대표적인 문제 중 하나인 1로 만들기! 문제도 간단, 아이디어도 간단하다. X라는 숫자를 1로 만들기 위해서 할 수 있는 작업은 아래와 같다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 이는 반대로 생각하면 X라는 숫자를 만들기 위해서 할 수 있는 일은 다음과 같다고 볼 수 있다. X / 3인 숫자에 3을 곱해서 X를 만든다. X / 2인 숫자에 2를 곱해서 X를 만든다. X-1인 숫자에 1을 더한다. 그럼 이제 우리는 2부터 X까지 각각 숫자를.. 이전 1 ··· 6 7 8 9 10 11 다음 목록 더보기