티스토리

voeni
검색하기

블로그 홈

voeni

kiwoong19.tistory.com/m

wiojfe 님의 블로그입니다.

구독자
0
방명록 방문하기

주요 글 목록

  • 푸리에 변환 시계열 데이터의 분석에서 많이 사용되는 푸리에 변환은 주파수 도메인으로 데이터를 변경해준다. 이번 공부를 통해서 푸리에 변환, 시리즈에 대해서 수식을 어느정도 이해할 수 있었다. 임의의 예제 데이터인 s=[1,3,7,2,3,0,8,2,11] ( N=9 )에 대해서 직접 DFT를 적용하고 어느 주파수 성분이 강한 지 확인해 보았다. DFT에 대한 식은 아래의 식을 참고했다. 예를 들어 k가 1인 경우에 대해 X1을 계산하게 되면 오일러 공식을 사용하여 cos,sin의 값을 가지고 X1을 계산하면 된다. X1을 계산하는 데에도 주어진 입력 s의 모든 값들이 한 번씩 연산이 되어야 하니 시간 복잡도 측면에서 별로 좋지 않다. X1을 구하는 과정처럼 X0~Xn-1까지 값을 모두 구하고 ∣Xk∣의 값.. 공감수 0 댓글수 0 2025. 4. 17.
  • LG Aimers 6기 본선 후기 aimers 6기 본선이 2025년 4월 5,6일동안 1박 2일로 진행되었다. 예선에서 최종 등수 7등을 기록한 우리 팀은 본선 참여 자격을 얻어서 인화원에 가게 되었다. 그런데 같이 대회에 참여했던 한 팀원은 당일 LG 인적성 검사가 있는 바람에 아쉽게 본선 대회에 참여하지 못하게 되었다. 원래 팀원은 모두 5명이었는데 결국 4명이 본선 대회에 참여하게 되었다. 둘 다 LG에서 진행하는 경진대회, 산학 장학생 선발인데 신기하게 일정이 겹쳤다. 인화원이 경기도 이천에 위치하고 있어서 해당 장소까지 대회측에서 준비한 버스를 타고 갔다. 아침 8시까지 잠실종합운동장역으로 모이라 하여 오전 6시에는 일어났던 거 같다. 평소라면 더 잘 수 있었는데 안 일어나던 시간에 일어나니 엄청 피곤하긴 했다. 게다.. 공감수 0 댓글수 0 2025. 4. 13.
  • 저울 [백준 10159] https://www.acmicpc.net/problem/10159 from collections import deque n = int(input())m = int(input())gra = [[] for _ in range(n+1)] for _ in range(m): a,b = map(int, input().split()) gra[a].append((b,1))# a>b weight gra[b].append((a,-1))counts = [0]*(n+1) def find(start): # visi q = deque() q.append((start,0)) while q : now,nowway= q.popleft() for nextnode,wa.. 공감수 0 댓글수 0 2025. 4. 4.
  • 친구비 [백준 16562] https://www.acmicpc.net/problem/16562  from collections import deque n, m, k = map(int ,input().split())arr = [0] + list(map(int, input().split()))gra = [[] for _ in range(n+1)] for _ in range(m): a, b = map(int, input().split()) if a != b: gra[a].append(b) gra[b].append(a) visit = [0 for _ in range(n+1)]def bfs(start): q = deque() q.append(start) visit[start].. 공감수 0 댓글수 0 2025. 4. 4.
  • 게임 [백준 1072] https://www.acmicpc.net/problem/1072  def check(x, y): z = (y * 100) // x if z >= 99: return -1 left, right = 1, 1_000_000_000 answer = -1 while left z: answer = mid right = mid - 1 else: left = mid + 1 return answer# 입력 처리x, y = map(int, input().split())print(check(x, y)) 공감수 0 댓글수 0 2025. 4. 1.
  • House Prices Going Up [백준 25778] https://www.acmicpc.net/problem/25778 무엇이 틀린지 몰라 gpt에 물어보니 long long을 써야함을 알게됨 #include #include using namespace std;int n;vector arr, tree;long long init(int idx, int s, int e) { if (s == e) { tree[idx] = arr[s]; return tree[idx]; } int mid = s + (e - s) / 2; tree[idx] = init(idx * 2, s, mid) + init(idx * 2 + 1, mid + 1, e); return tree[idx];}void update(int idx, in.. 공감수 0 댓글수 0 2025. 3. 30.
  • 풍선 맞추기 [백준 11509] https://www.acmicpc.net/problem/11509 import sysinput = sys.stdin.readlinen = int(input())balloons = list(map(int, input().split()))arrows = {}arrow_count = 0for height in balloons: if height in arrows and arrows[height] > 0: arrows[height] -= 1 arrows[height - 1] = arrows.get(height - 1, 0) + 1 else: arrow_count += 1 arrows[height - 1] = arrows.get(height - 1, .. 공감수 0 댓글수 0 2025. 3. 13.
  • LG Aimers 6기 후기 aimers 3기부터 시작해서 벌써 4번째 aimers 참여를 하게 되었다.  3월에 대학원 입학을 하고나면 방학에도 바쁠 수 있을 거라 생각해서 이번에 좋은 성적을 낼 수 있는 마지막 기회라는 생각으로 임했다. 대회 사이트의 게시판에서 같이 참여할 팀원들을 구하고 2월 1일부터 온라인 해커톤이 시작 되었다.   이전 대회들도 접하기 쉬운 데이터(주제)는 아니었는데 이번엔 난임이라는 더 생소한 주제가 주어졌다. 사전에 제공된 동영상 강의들을 다시 수강하고 관련된 논문들을 찾아보았다. 대체로 여성의 나이, 호르몬 수치 등이 난임 시술의 성공 확률과 높은 상관성을 갖는다는 내용이었다. 이런 배경지식들을 찾아보면서 데이터가 실제로 주어지고 나면 어떻게 분석, 처리할 지 미리 생각해보기도 했다.    2월 초중.. 공감수 0 댓글수 0 2025. 3. 11.
  • 연료 채우기 [백준 1826] https://www.acmicpc.net/problem/1826 import heapqimport sys# input = sys.stdin.read# data = input().splitlines()N = int(input()) # 주유소 개수stations = []for i in range(1, N + 1): # a, b = map(int, data[i].split()) a, b = map(int, input().split()) stations.append((a, b))L, P = map(int, input().split()) # 마을까지 거리, 현재 연료stations.sort()max_heap = []fuel = Pcount = 0index = 0 while fuel 공감수 0 댓글수 0 2025. 3. 11.
  • 파일 합치기3 [백준 13975] https://www.acmicpc.net/problem/13975 import heapqt = int(input()) # 테스트 케이스 수for _ in range(t): k = int(input()) # 배열의 길이 arr = list(map(int, input().split())) heapq.heapify(arr) total = 0 while len(arr) > 1: a1 = heapq.heappop(arr) a2 = heapq.heappop(arr) total += (a1 + a2) heapq.heappush(arr, (a1 + a2)) print(total) 공감수 0 댓글수 0 2025. 3. 9.
  • 멀티탭 스케줄링 [백준 1700] https://www.acmicpc.net/problem/1700 # 입력 받기n, k = map(int, input().split()) # n: 멀티탭 구멍 수, k: 사용 순서 길이order = list(map(int, input().split()))multitap = []swap_count = 0for i in range(k ): curr = order[i] for i in range(k): current = order[i] if current in multitap: continue if len(multitap) farthest: farthest = next_use index_to_remove = j multitap[.. 공감수 0 댓글수 0 2025. 3. 8.
  • 흙길 보수하기 [백준 1911] https://www.acmicpc.net/problem/1911# 입력 받기import sysinput = sys.stdin.read().splitlines()N, L = map(int, input[0].split())puddles = []for i in range(1, N + 1): start, end = map(int, input[i].split()) puddles.append((start, end))puddles.sort()plank_count = 0cover_end = 0 for start, end in puddles: # 만약 이미 덮여있는 범위보다 시작이 작으면, 덮여 있는 부분 이후부터 시작 if cover_end >= start: start = cover.. 공감수 0 댓글수 0 2025. 3. 8.
  • 다이어트 [백준 1484] https://www.acmicpc.net/problem/1484 import sysG = int(sys.stdin.readline().strip())answers = []low = 1high = 2 while True: diff = high*high - low*low # (diff == G)이면 후보가 됨 if diff == G: answers.append(high) # 현재 몸무게 = high if diff >= G: low += 1 else: high += 1 if low >= high: break if high > 100000: break# 결과 출력if not answers: pri.. 공감수 1 댓글수 0 2025. 2. 25.
  • 전쟁-전투[백준 1303] https://www.acmicpc.net/problem/1303  from collections import deque n, m = map(int, input().split())arr = [list(input().strip()) for _ in range(m)]visit = [[0] * n for _ in range(m)]b, w = [], []dx, dy = [1, -1, 0, 0], [0, 0, 1, -1]def bfs(x, y, char): q = deque() q.append((x, y)) cnt = 1 visit[x][y] = 1 while q: x, y = q.popleft() for i in range(4): nx,.. 공감수 0 댓글수 0 2025. 1. 31.
  • 양치기 꿍[백준 3187] https://www.acmicpc.net/problem/3187from collections import dequeimport sysinput = sys.stdin.readdata = input().split("\n")R, C = map(int, data[0].split())graph = [list(data[i]) for i in range(1, R+1)]dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]visited = [[False] * C for _ in range(R)]def bfs(x, y): queue = deque([(x, y)]) visited[x][y] = True sheep, wolf = 0, 0 # 현재 영역의 양과 늑대 수 while queue.. 공감수 0 댓글수 0 2025. 1. 30.
  • 텔레포트 정거장[백준 18232] https://www.acmicpc.net/problem/18232   from collections import dequedef bfs(N, S, E, teleport): visited = [-1] * (N + 1) # 방문 여부 및 시간 기록 queue = deque([S]) visited[S] = 0 # 시작점은 0초 while queue: current = queue.popleft() # 목표 지점에 도달한 경우 if current == E: return visited[current] # X+1로 이동 if current + 1 = 1 and visited[current - 1] == -1:.. 공감수 1 댓글수 0 2025. 1. 29.
  • 돌다리[백준 12761] https://www.acmicpc.net/problem/12761 방문의 이동 횟수를 잘 기록 해주면 된다. from collections import deque a,b,n,m = map(int, input().split())visited =[-1]*(100000+1 )def bfs(start): q = deque() q.append((start,0)) visited[start]=0 while q : x ,dist= q.popleft() if x == m : return dist if x+1 공감수 0 댓글수 0 2025. 1. 28.
  • 너구리 구구[백준 18126] https://www.acmicpc.net/problem/18126   from collections import dequedef bfs(start, graph, n): visit = [float('inf')] * (n + 1) visit[start] = 0 queue = deque([start]) while queue: current = queue.popleft() for neighbor, weight in graph[current]: if visit[neighbor] == float('inf'): visit[neighbor] = visit[current] + weight qu.. 공감수 0 댓글수 1 2025. 1. 28.
  • 거리가 k이하인 트리 노드에서 사과 수확하기[백준 25516] https://www.acmicpc.net/problem/25516from collections import dequen, k = map(int, input().split())gra = [[] for _ in range(n)]for _ in range(n-1): a, b = map(int, input().split()) gra[a].append(b) gra[b].append(a)isapple = list(map(int, input().split()))visit = [0] * ndef bfs(start): q = deque() q.append((start, 0)) # (현재 노드, 깊이) visit[start] = 1 ans = 0 # 사과 개수 if isap.. 공감수 0 댓글수 0 2025. 1. 28.
  • 영상처리[백준 21938] https://www.acmicpc.net/problem/21938from collections import deque import sysn, m = map(int, input().split())data = []dx = [1,-1,0,0] dy = [0,0,1,-1]for _ in range(n): row = list(map(int, input().split())) data.append(row)T = int(input())visit = [[0]*(m) for _ in range(n)]cnt = 0 new_arr = [[0 for _ in range(m)] for _ in range(n)]for i in range(n): for j in range(m): r, g, b = da.. 공감수 0 댓글수 0 2025. 1. 27.
  • 현수막[백준 14716] https://www.acmicpc.net/problem/14716 from collections import deque n,m =map(int, input().split())arr =[]dx =[1,-1,0,0,1,-1,1,-1]dy =[0,0,1,-1,1,-1,-1,1]ans = 0 for _ in range(n): oneline = list(map(int, input().split())) arr.append(oneline ) def bfs(i,j ) : q = deque() arr[i][j] = 2 q.append((i,j)) while q : x,y = q.popleft() for i in range(8): .. 공감수 0 댓글수 0 2025. 1. 26.
  • 숨바꼭질[백준 6118] https://www.acmicpc.net/problem/6118  from collections import deque n,m =map(int, input().split())gra = [[] for _ in range(n+1)]def bfs(t) : q = deque() q.append(t) visit[t] = 1 while q: node = q.popleft() for nextnode in gra[node] : if visit[nextnode]==0 : visit[nextnode] = visit[node]+1 q.append(nextnode)for _ in range(m) : .. 공감수 0 댓글수 0 2025. 1. 26.
  • 창영이와 점프[백준 22114] https://www.acmicpc.net/problem/22114 두 포인터를 사용해서 해결하면 된다. n, k = map(int, input().split())arr = list(map(int, input().split()))l, ans, j = 0, 0, 0for r in range(n - 1): if arr[r] > k: j += 1 while j > 1: if arr[l] > k: # 점프 복구 j -= 1 l += 1 ans = max(ans, r - l + 1 + 1) print(ans) 공감수 0 댓글수 1 2025. 1. 20.
  • 간식 파티 [백준 20162] https://www.acmicpc.net/problem/20162  n = int(input())arr= []for _ in range(n): k = int(input()) arr.append(k) dp = [0 for _ in range(n)]dp[0] = arr[0] for i in range(1, n): dp[i] = arr[i] for j in range(i-1, -1,-1): if arr[j] 공감수 1 댓글수 0 2025. 1. 20.
  • The Bale Tower [백준 6221] https://www.acmicpc.net/problem/6221  n = int(input())bales = []for _ in range(n): width, breadth = map(int, input().split()) bales.append((width, breadth))bales.sort(key=lambda x: (x[0], x[1]))dp = [1] * n for i in range(n): for j in range(i): if bales[j][0] 공감수 0 댓글수 0 2025. 1. 18.
  • 가장 긴 짝수 연속한 부분 수열 (small) [백준 22857] https://www.acmicpc.net/problem/22857 두 포인터를 사용해서 문제 해결을 하면 된다. def find(N, K, S): l = 0 max_length = 0 removed = 0 # 현재 구간 [l..r] 안의 홀수 개수 for r in range(N): if S[r] % 2 != 0: removed += 1 while removed > K: if S[l] % 2 != 0: removed -= 1 l += 1 sub = (r - l + 1) - removed max_length = max(max_length, sub) .. 공감수 0 댓글수 0 2025. 1. 18.
  • 회의실 배정3[백준 19622] https://www.acmicpc.net/problem/19622 이전 문제인 회의실 배정 2랑 같은 방법으로 풀면 된다. n = int(input())arr= []for i in range(n): a,b,c = map(int , input().split()) arr.append((a,b,c))arr.sort(key = lambda x : x[1])dp = [0 for _ in range(n)] dp[0] = arr[0][2]for i in range(1,n): dp[i] = dp[i-1] for j in range(i-1 , -1,-1): if arr[j][1] 공감수 0 댓글수 0 2025. 1. 17.
  • 가장 큰 감소 부분 수열[백준 17216] https://www.acmicpc.net/problem/17216 n = int(input())arr = list(map(int, input().split()))dp = [0 for _ in range(n)]dp[0] = arr[0] # arr = 9 2 1 100 22# dp = 9 11 12 100 122for i in range(1, n): dp[i] =arr[i] cnt = 0 for j in range(i-1 , -1,-1): if arr[i] 공감수 0 댓글수 0 2025. 1. 16.
  • 회의실 배정2 [백준 19621] https://www.acmicpc.net/problem/19621 배낭문제랑 비슷한 방법으로 문제 해결 하면 된다. n = int(input())# 회의 정보를 담을 리스트array = []for _ in range(n): array.append(list(map(int, input().split())))array.sort(key=lambda x: x[1])# DP 배열 초기화dp = [0] * ndp[0] = array[0][2]for i in range(1, n): dp[i] = dp[i - 1] for j in range(i - 1, -1, -1): if array[j][1] 공감수 0 댓글수 0 2025. 1. 16.
  • 찐 Even Number [백준 32981] https://www.acmicpc.net/problem/32981 처음에는 dp를 이용해서 풀려 했는데 시간 초과가 나와서 거듭제곱 계산을 이용해서 풀어보았다.import sysinput = sys.stdin.readlinedef power(a,b): if b==0: return 1 if b%2: return (power(a,b-1)*a) % 1000000007 tmp=power(a,b//2) % 1000000007 return tmp*tmp % 1000000007for i in range(int(input())): a = int(input()) if a == 1: print(5) else: print((4*power(5, a-1))%1000000007) 공감수 0 댓글수 0 2025. 1. 12.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.