Study 6

[논문 리뷰] Autocorrelation-based time synchronous averaging for condition monitoring of planetary gearboxes in wind turbines (자기상관 기반 TSA 기법 탐구)

유성 기어박스 프로젝트를 진행하면서, 선행 연구를 진행하셨던 하종문 박사님의 논문인 J. M. Ha, B. D. Youn, H. Oh, B. Han, Y, Jung, and J. Park, “Autocorrelation-based time synchronous averaging for condition monitoring of planetary gearboxes in wind turbines,” Mech. Syst. Signal Process., vols. Mar. 2016 를 읽고 정리하였습니다. https://www.sciencedirect.com/science/article/pii/S0888327015004525?via%3Dihub

Study/PHM 2023.07.19

시작 - 맥에서 가상환경 구축, VScode로 jupyter notebook 생성하기

학교의 PHM 랩실에서 인턴생활을 시작하게 되었다. 이전까지는 구글 드라이브에 데이터셋을 업로드해놓고, 코랩을 이용하여 데이터 분석을 진행하였다. 하지만 랩실에서 다루는 데이터는 용량이 매우 크기 때문에, 코랩으로 분석을 진행하기 어려운 부분이 있었다. 그래서 랩실에 있는 고사양 PC와 VScode를 활용하여 분석을 진행한다고 한다. 랩실에서의 분석을 시작하기 앞서 내 개인용 랩탑인 맥북에 동일한 환경을 만들어 주기로 했다. 진행하면서 또 구글을 뒤적여 가면서 시간을 많이 허비하여, 기록용으로 블로그에 남겨두기로 결정했다. 1. Anaconda 설치 Anaconda 홈페이지에 들어가서 MacOS에서 Installer을 골라 설치하면 된다. Free Download | Anaconda Anaconda's ..

Study/PHM 2023.07.09

[백준/파이썬] 1193 분수찾기 : 계차수열의 일반항 구하기

문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째 줄에 분수를 출력한다. 위와 같이 그림을 그려 분수를 나타내고 보았다. 나는 분자와 분모를 나누어서 각각의 규칙을 찾는 방법을 이용했다. 분자를 순서대로 쭉 ..

Study/백준 2023.03.01

[백준/파이썬] 1316 그룹 단어 체커 : enumerate, 한줄 for, if문

문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다. 출력 첫째 줄에 그룹 단어의 개수를 출력한다. N = int(input()) lst = [] sum = 0 f..

Study/백준 2023.03.01

[백준/파이썬] 4673 셀프 넘버 : set, sort(), sorted()

문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..

Study/백준 2023.01.13

[백준/파이썬] 4344 평균은 넘겠지 : f-string 사용법

문제 : 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 : 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 : 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. C = int(input()) for i in range(C): arr = list(map(int, input().split())) t = 0 avg = sum(arr[1:]) / arr[0] for x in arr[1:]: ..

Study/백준 2023.01.13