분류 전체보기 244

백준 2156: 포도주 시식 (Python)

https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net n = int(input()) a = [0] for _ in range(n): a.append(int(input())) d = [0] * (n+1) d[1] = a[1] if n >= 2: d[2] = a[1] + a[2] for i in range(3, n+1): d[i] = max(d[i-1], d[i-2] + a[i], d[i-3] + a[i-1] + a[i]) print(d[n])

알고리즘/백준 2022.04.07

백준 10844: 쉬운 계단 수 (Python)

https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net n = int(input()) stair = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] for _ in range(n+1)] stair[1] = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1] for i in range(2, n+1): for j in range(10): if j == 0: stair[i][0] = stair[i-1][1] elif j == 9: stair[i][9] = stair[i-1][8] else: stair[i][j] = stair[i-1][j-1] + stair[..

알고리즘/백준 2022.04.07

Google Colaboratory 이용한 YOLOv5 데이터 학습

맥북 m1으로 돌리다가(CPU) 도저히 안 돌아가서 colab 이용함 걍 처음부터 코랩으로 돌리는 걸 추천한다,,,,!! 1. 구글 드라이브 -> Google Colaboratory 파일 생성 2. 내 드라이브 mount from google.colab import drive drive.mount('/content/drive') - 둘 중 편한 방법으로 하면 됨 3. YOLOv5 설치 1) !git clone https://github.com/ultralytics/yolov5 2) %cd yolov5 !pip install -r requirements.txt 4. 그 후 과정은 똑같다. 파일들 및 실행 경로 설정만 내 드라이브로 다시 해주면 됨 https://sssbin.tistory.com/163 **..

백준 1463: 1로 만들기 (Python)

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 채점하는데 2분 걸려서 좀 쫄았다 ㅋ 인덱스 에러 방지를 위해 배열을 n의 수만큼 설정해줌. n = int(input()) d = [0] * 1000001 d[2] = 1 d[3] = 1 for i in range(4, n+1): d[i] = d[i-1] + 1 if i % 3 == 0: d[i] = min(d[i//3] + 1, d[i]) if i % 2 == 0: d[i] = min(d[i//2] + 1, d[i]) print(d[n])

알고리즘/백준 2022.04.05

백준 2579: 계단 오르기 (Python)

https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 어차피 마지막칸은 무조건 밟아야 하기 때문에 현재 칸을 밟는 경우의 최댓값을 계산해준다 인덱스 에러가 나지 않기 위해 리스트 인덱스0에 0을 추가했다 n = int(input()) arr = [0] for _ in range(n): arr.append(int(input())) d = [0] * (n+1) d[1] = arr[1] if n >= 2: d[2] = arr[1] + arr[2] for i in ra..

알고리즘/백준 2022.04.05

라즈베리파이 OS 설치 & 노트북 원격 접속

thanks to. 하영 노트북 프로젝트의 모든 내용을 하영 노트북과 함께 해야 함 sd 카드 포맷 -> 라즈베리파이 이미지 구움 시행착오1. sd카드 먹통,,,, 전에 쓰던 사람들이 막 썼나봄 다시 교체함 모바일 핫스팟 설정 -> 아이디/비밀번호 설정해주기 ssh 파일(빈 파일) wpa_supplicant.conf 파일(아래 내용) 추가 --------------------------------------------------------------------- country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="wifi 이름" psk="비밀번호" scan=ssid=1 } ----..

백준 1932: 정수 삼각형 (Python)

https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 삼각형을 리스트로 차례대로 입력받은 다음, 인덱스 에러가 나지 않게 거꾸로 for문을 돌려주었다 현재값+최댓값 해서 리스트에 저장해주고 제일 마지막 계산 부분(첫번째 줄)에는 값이 하나밖에 없으니 d[0][0] 출력하면 된다! n = int(input()) d = [list(map(int, input().split())) for _ in range(n)] for i in range(n-2, -1, -1): for j in range(i+1): d[i][j] += max..

알고리즘/백준 2022.04.01

labelImg 이용해서 데이터 만들고 YOLOv5 학습시키기

1. labelImg 실행 2. Open Dir -> 이미지 파일들 저장된 폴더 열기 / Change Save Dir -> 파일 저장할 폴더 지정 3. 처음 작동시키면 yolo 라고 써있는 부분에 PascalVOC 라고 적혀있을텐데 한번 눌러서 yolo로 바꿔주면 된다. 4. 라벨링 시작 - Create RectBox 눌러서 직접 라벨링 해주고 -> class 지정 -> Save 5. 이 과정을 모든 사진에 해주면 됨..^^ 6. yolov5 안에 폴더 하나 만들어서 그 안에 data.yaml 파일, images, labels 폴더를 각각 만들어주자 images -> 라벨링 했던 사진들 labels -> 라벨링 후 생성된 텍스트 파일들 7. data.yaml 파일 train/val: 내가 만든 폴더 경로..

MacOS M1 - labelImg 설치

pip install labelImg pip3 install pipenv pipenv run pip install pyqt5 lxml make qt5py3 labelImg 순서대로 하면 된다는데 온갖 오류 다 뜨면서 안 됨. 그래서 다시 다운.. 그래도 안 됨. 다시 검색.. m1 칩이라 안 되는 듯.. 일단 로제타 터미널 만들어줌 터미널 복제 -> 이름 알아보기 쉽게 바꿔주고 -> 마우스 우클릭 -> 정보 가져오기 -> Rosetta를 사용하여 열기 체크 로제타 터미널 열어서 git clone https://github.com/tzutalin/labelImg.git cd labelImg /usr/bin/python3 -m venv env source env/bin/activate pip install ..

백준 1149: RGB거리 (Python)

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net n = int(input()) d =[list(map(int, input().split())) for _ in range(n)] for i in range(1, n): d[i][0] += min(d[i-1][1], d[i-1][2]) d[i][1] += min(d[i-1][0], d[i-1][2]) d[i][2] += min(d[i-1][0], d[i-1][1]) print(..

알고리즘/백준 2022.03.30