문제 상황두 개의 리스트 nums1과 nums2가 있다고 가정해 보겠습니다. 이 두 리스트는 각각 센서 측정값을 나타내며, 모든 값은 고유합니다(즉, a ≠ b). 두 리스트 중 하나는 정확한 센서 측정값을 담고 있지만, 다른 하나에는 오류가 포함되어 있습니다.오류가 있는 리스트에서는 마지막 값이 아닌 임의의 값 하나가 삭제되었고, 그 결과 잘못된 값이 리스트의 맨 끝에 추가되었습니다. 우리가 찾아야 하는 것은 바로 삭제된 실제 값입니다.예를 들어 입력이 nums1 = [5, 10, 15], nums2 = [10, 15, 8]이라면
개요Pandas의 DateTimeIndex.dayofyear 속성을 사용하면 특정 시계열 빈도로 구성된 DateTimeIndex에서 연중 몇 번째 날(ordinal day of year)을 손쉽게 추출할 수 있습니다. 이 속성은 각 날짜가 해당 연도의 1월 1일부터 계산했을 때 며칠째인지를 나타내는 정수 값을 반환합니다.라이브러리 임포트먼저 필요한 라이브러리를 임포트합니다.import pandas as pdDatetimeIndex 생성기간(periods)은 6으로, 빈도(freq)는 D(일 단위)로 설정하여 DatetimeIndex
특정 시계열 빈도(frequency)를 가진 DateTimeIndex에서 요일(day of week)을 추출하려면 DateTimeIndex.dayofweek 속성을 사용하면 됩니다.dayofweek 속성은 각 날짜가 한 주 중 몇 번째 요일인지를 정수 형태로 반환합니다. 이때 주는 월요일(0)에 시작하여 일요일(6)에 끝나는 것으로 계산됩니다.1단계: 필요한 라이브러리 임포트먼저 pandas 라이브러리를 임포트합니다.import pandas as pd2단계: DateTimeIndex 생성시작 날짜, 기간(periods), 시간대(t
숫자 리스트 piles와 값 k가 주어졌다고 가정해 봅시다. piles[i]는 i번째 돌 무더기에 놓여 있는 돌의 개수를 의미합니다. 매시간마다 우리는 임의의 무더기를 하나 골라 그곳에서 r개의 돌을 제거합니다. 만약 선택한 무더기에 남아 있는 돌이 r개보다 적더라도, 그 무더기를 비우는 데에는 여전히 1시간이 소요됩니다.이때 우리가 구해야 하는 것은 k시간 이내에 모든 돌을 제거할 수 있는 r의 최솟값입니다.예를 들어 입력이 piles = [3, 6, 4], k = 5라고 해 보겠습니다. 이 경우 출력은 3이 됩니다. 시간당 r
DateTimeIndex에서 날짜가 속한 분기(Quarter)를 추출하려면 DateTimeIndex.quarter 속성을 사용하면 됩니다. 이 속성은 각 날짜가 연중 몇 번째 분기에 해당하는지를 정수 값으로 반환합니다.필요한 라이브러리 불러오기먼저 pandas 라이브러리를 임포트합니다.import pandas as pdDatetimeIndex 생성하기이제 시작 시점부터 총 6개의 기간(periods=6)을 가지며, 빈도(freq)는 2M, 즉 두 달 단위로 설정된 DatetimeIndex를 생성해 보겠습니다. 타임존은 호주 시드니(
개요Pandas에서 특정 시계열 빈도를 가진 DateTimeIndex로부터 시간대(timezone) 정보를 추출하려면 DateTimeIndex.tz 속성을 사용하면 됩니다. 이 속성은 인덱스에 설정된 시간대를 그대로 반환합니다.필수 라이브러리 임포트먼저 필요한 라이브러리를 임포트합니다.import pandas as pdDatetimeIndex 생성이제 기간(period)은 6, 빈도(freq)는 D(즉, 일 단위)로 설정하여 DatetimeIndex를 생성합니다. 시간대는 호주 시드니(Australia/Sydney)로 지정합니다.d
문제 개요0과 1로 구성된 이진 행렬(binary matrix)이 주어졌다고 가정해 봅시다. 여기서 1은 육지를, 0은 물을 의미합니다. 임의의 육지 칸에서는 상하좌우 네 방향으로만 이동할 수 있으며, 대각선 이동은 허용되지 않습니다. 이때 행렬의 바깥으로 빠져나갈 수 없는 육지 칸이 몇 개인지 구하는 프로그램을 작성하는 것이 목표입니다.예시다음과 같은 행렬이 입력으로 주어진다고 해보겠습니다.0001011001100001이 경우 정답은 4입니다. 행렬 중앙에 위치한 4개의 육지 칸은 어떤 경로로도 행렬 밖으로 걸어 나갈 수 없기 때
Pandas에서 DateTimeIndex에 설정된 빈도(frequency)를 확인하려면 DateTimeIndex.freq 속성을 사용하면 됩니다. 이 속성은 해당 인덱스가 가진 시간 간격 정보를 빈도 객체 형태로 그대로 반환합니다. 필요한 라이브러리 가져오기 먼저 Pandas 라이브러리를 임포트합니다. import pandas as pd DatetimeIndex 생성하기 주기(periods)를 6으로, 빈도(freq)를 D(일 단위)로 지정하여 DatetimeIndex를 생성합니다. 시간대(timezone)는 호주 애들레이드인
Pandas의 DateTimeIndex.freqstr 속성을 사용하면 DateTimeIndex에서 주파수(frequency) 객체를 문자열 형태로 손쉽게 추출할 수 있습니다. 기본 사용법 먼저 필요한 라이브러리를 임포트합니다. import pandas as pd 기간(periods)은 6, 주파수는 D(일 단위)로 설정하고, 시간대(timezone)를 호주 애들레이드로 지정하여 DatetimeIndex를 생성합니다. datetimeindex = pd.date_range(2021-10-20 02:30:50, periods=6
문제 설명숫자로 이루어진 리스트 nums가 주어져 있다고 가정해 봅시다. 함수 f(i)는 인덱스 i에 위치한 요소를 삭제한 후, 결과 리스트에서 짝수 인덱스 요소들의 합과 홀수 인덱스 요소들의 합이 서로 같으면 참(True), 그렇지 않으면 거짓(False)을 반환합니다. 이때 우리가 구해야 하는 것은 함수 f가 참을 반환하도록 만드는 인덱스의 총개수입니다.예를 들어 입력이 nums = [6, 8, 5, 2, 3]이라면 출력은 2입니다. 그 이유는 다음과 같습니다.8을 제거하면 리스트는 [6, 5, 2, 3]이 되고, 짝수·홀수 인
DateTimeIndex의 날짜가 해당 월의 첫 번째 날(1일)인지 확인하려면 DateTimeIndex.is_month_start 속성을 사용하면 됩니다. 이 속성은 인덱스에 포함된 각 날짜에 대해 월의 시작일 여부를 불리언(Boolean) 배열 형태로 반환하므로, 대량의 시계열 데이터에서 특정 조건의 날짜를 필터링할 때 매우 유용합니다. 라이브러리 임포트 먼저 필요한 라이브러리를 임포트합니다. import pandas as pd DatetimeIndex 생성 시작 날짜 2021-9-21 02:30:50부터 총 6개의 날짜를 생성하
길이가 짝수인 숫자 리스트 nums가 주어져 있다고 가정해 보겠습니다. 우리는 리스트 안에서 임의의 숫자 하나를 골라 1부터 nums의 최댓값 사이의 값으로 바꾸는 연산을 수행할 수 있습니다. 이때 모든 인덱스 i에 대해 nums[i] + nums[n-1-i]의 값이 서로 같아지도록 만들기 위해 필요한 최소 연산 횟수를 구하는 것이 이 문제의 목표입니다.예를 들어 입력이 nums = [8,6,2,5,9,2]라면 출력은 2가 됩니다. nums[2]의 2를 5로, nums[4]의 9를 4로 바꾸면 리스트는 [8,6,5,5,4,2]가 되
DateTimeIndex의 날짜가 해당 월의 마지막 날인지 여부를 확인하려면 DateTimeIndex.is_month_end 속성을 사용하면 됩니다. 이 속성은 각 날짜가 해당 월의 마지막 날이면 True, 그렇지 않으면 False를 담은 불리언(Boolean) 배열을 반환합니다.라이브러리 임포트먼저 필요한 라이브러리를 임포트합니다.import pandas as pdDatetimeIndex 생성기간(periods) 6개, 빈도(freq) 15D(15일 간격)로 DatetimeIndex를 생성합니다. 시간대는 호주 애들레이드(Aust
개요Pandas에서 DateTimeIndex에 포함된 각 날짜가 해당 분기의 첫 번째 날(시작일)인지 확인하려면 is_quarter_start 속성을 사용하면 됩니다. 이 속성은 인덱스의 각 날짜에 대해 분기 시작일이면 True, 그렇지 않으면 False를 담은 불리언 배열을 반환합니다.필요한 라이브러리 가져오기먼저 pandas 라이브러리를 임포트합니다.import pandas as pdDatetimeIndex 생성하기시작 시점 2021-10-1 02:30:50부터 기간(periods) 6개, 빈도(freq) 30일 간격으로 Dat
DateTimeIndex에 포함된 날짜가 해당 분기의 마지막 날인지 확인하려면 DateTimeIndex.is_quarter_end 속성을 사용하면 됩니다. 이 속성은 각 날짜가 분기의 마지막 날에 해당하면 True, 그렇지 않으면 False를 담은 불리언(Boolean) 배열을 반환합니다.필요한 라이브러리 임포트먼저 pandas 라이브러리를 임포트합니다.import pandas as pdDatetimeIndex 생성하기시작 시점 2021-6-15 02:30:50부터 총 6개의 타임스탬프를 15일 간격으로 생성하고, 시간대(timez
문제 설명서로 다른 양의 정수로만 이루어진 리스트 nums가 있다고 가정해 보겠습니다. 이때 nums에서 네 개의 서로 다른 원소 (a, b, c, d)를 골라 a × b = c × d를 만족하는 쿼드러플(quadruple)이 총 몇 개 있는지 찾아야 합니다.예를 들어 입력이 nums = [3, 6, 4, 8]이라면 출력은 8이 됩니다. 조건을 만족하는 쿼드러플은 [[3,8,6,4], [3,8,4,6], [8,3,6,4], [8,3,4,6], [6,4,3,8], [4,6,3,8], [6,4,8,3], [4,6,8,3]]로 총 8개이
DateTimeIndex에 포함된 날짜가 해당 연도의 첫 번째 날인지 확인하려면 DateTimeIndex.is_year_start 속성을 사용하면 됩니다. 이 속성은 인덱스의 각 날짜가 연도의 시작일(1월 1일)에 해당하는지 여부를 불리언(Boolean) 배열로 반환해 주므로, 시계열 데이터에서 연초 기준의 조건 필터링이나 그룹화 작업에 유용하게 활용할 수 있습니다.먼저 필요한 라이브러리를 임포트합니다.import pandas as pd기간(period)은 6, 빈도(freq)는 D 즉 일(day) 단위로 DatetimeIndex를
Pandas에서 DateTimeIndex.is_year_end 속성을 사용하면 DateTimeIndex에 포함된 각 날짜가 해당 연도의 마지막 날(12월 31일)인지 여부를 손쉽게 확인할 수 있습니다. 이 속성은 인덱스의 날짜 수만큼 True 또는 False 값으로 이루어진 불리언 배열을 반환하며, 특정 날짜가 연말이면 True, 그렇지 않으면 False를 나타냅니다.1. 필요한 라이브러리 불러오기먼저 pandas 라이브러리를 임포트합니다.import pandas as pd2. DatetimeIndex 생성하기시작 시점을 2021-
0은 빈 칸, 1은 벽을 나타내는 이진 행렬(binary matrix)이 주어졌다고 가정해 보겠습니다. 왼쪽 위 모서리인 (0, 0)에서 출발해 오른쪽 아래 모서리인 (R-1, C-1)까지 이동할 때, 거쳐야 하는 최소 칸 수를 구하는 것이 이 문제의 목표입니다. 여기서 R은 행(row)의 개수, C는 열(column)의 개수를 뜻하며, 어떤 경로로도 도달할 수 없는 경우에는 -1을 반환해야 합니다.예를 들어 입력 행렬이 다음과 같다고 해보겠습니다.00010001100001111000이 경우 정답은 8입니다. 아래와 같은 경로를 따
Pandas에서 DateTimeIndex에 포함된 날짜가 윤년(leap year)에 해당하는지 확인하려면 DateTimeIndex.is_leap_year 속성을 사용하면 됩니다. 이 속성은 각 날짜의 연도가 윤년이면 True, 그렇지 않으면 False를 요소로 가지는 불리언(Boolean) 배열을 반환합니다.1. 라이브러리 임포트먼저 필요한 라이브러리를 임포트합니다.import pandas as pd2. DatetimeIndex 생성시작 시점을 2021-12-30 02:30:50으로 지정하고, 주기(periods)는 6, 빈도(fr