
목록📖 파이썬 (10)
즐겁게, 코드

특별한 내용은 없는 일상글인데, 꽤나 신기한 경험이었어서 간단히 적어본다.어렸을 때는 주식이 패가망신의 상징(?) 과도 비슷한 이미지였던 것 같은데 요즘은 어떤 모임이든 최소 두어명은 주식을 하는 것 같다.나도 국내상장 해외 ETF들에 투자하고 있는데, 갑자기 "소프트웨어를 활용하면 지수 이상의 수익률을 낼 수 있지 않을까?" 라는 호기심이 생겼다. 파이썬으로 구현하는 로보어드바이저 | 윤성진 - 교보문고파이썬으로 구현하는 로보어드바이저 | 로보어드바이저 시스템의 핵심 엔진을 개발했던 금융 AI 연구원들이 직접 쓴 책으로, 로보어드바이저를 구성하는 주요 포트폴리오 전략을 파이썬 코드와product.kyobobook.co.kr그래서 지난 주부터 책을 사서 읽고 있는데, 내용이 상당히 흥미롭다. 오렌지사과 ..

자바스크립트의 .forEach, .map 등 메서드를 활용하면 현재 순회중인 요소와 인덱스를 함께 얻을 수 있습니다. const array = [a, b, c]; array.forEach((item, index) => { console.log(`item: ${item} / index: ${index}`); } // item: a / index : 0 // item: b / index : 1 // item: c / index : 2 이는 배열의 요소에 접근할 때 인덱스로 접근할 것이냐, 요소 자체에 접근할 것이냐를 고민하지 않게 해주어 코드 퀄리티와 생산성을 높여주기도 하는데요, 파이썬에서는 항상 이런 고민을 해야만 했습니다. string = "Hello, World!" # 순회중인 요소에 직접 접근할 것..
때때로 프로그래밍 문제를 풀다보면 우선순위 큐를 활용해야 하는 경우가 종종 있습니다. 다만 우선순위 큐는 일반적인 큐나 배열이 아닌 힙을 기반으로 구현되었기 때문에 이를 직접 구현해서 사용하기에는 시간이 조금 걸릴수도 있는데요, 다행히 파이썬에서는 우선순위 큐를 내장 라이브러리로 제공합니다. ⏰ 들어가기 전에 우선순위 큐를 구현한 PriorityQueue 라는 라이브러리도 존재하지만, heapq 보다 훨씬 느리게 동작하므로 코딩 테스트용으로는 적합하지 않습니다. 따라서 이번 글에서는 heapq 를 사용한 방법을 소개하도록 하겠습니다. import heapq # 일반적인 리스트를 선언합니다. pq = [] 우선순위 큐는 원소를 삽입할 때는 일반적인 큐와 유사하지만, 원소를 큐에서 뺄 때는 언제나 작은 값을..

[백준 온라인 저지 링크] 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸의 개수가 한 개 이상인 입력만 주어진다. www.acmicpc.net [정답 코드 - Python] from collections import deque N, M = map(int, input().split()) max_cnt = 0 queue = deque() board = [] dy = [-1, -1, 0, 1, 1, 1, 0, -1] dx = [0, 1, 1, 1, 0, -1, -1, -1] for i in range(N): board.append(list(map(int,..

[백준 온라인 저지 링크] 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 애매한 점을 하나 정리해드리면, N번째 지점은 밟자마자(발판이 움직이든 로봇이 움직이든) 내려간다고 생각하시면 됩니다. 또, 로봇이 전진하기 위해 현재 칸에 로봇이 있어야 하고 다음 칸에는 로봇이 있어서는 안되는 걸 잊으면 안됩니다! (이걸 처리하지 않으면 세 번째, 네 번째 케이스에서 걸립니다 ㅠㅠㅠ) if belt[N - i] > 0 and robot[N - i - 1] == True and robot[N - i..

[백준 온라인 저지 링크] 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net BOJ 2667번: 단지번호붙이기 와 유사한 문제다. 입력받을 때만 조심하면 크게 꼬인 트릭은 없는 문제! [정답 코드 - Python] from collections import deque N, M = map(int, input().split()) picture = [] visited = [[False] * M for _ in range(N)] dy = [1, 0, -1, 0] dx = [0, 1, 0, -1] picture_cnt = 0..