목록전체 글 (52)
0과 1 사이
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 내 코드.. 실패 ㅜ import math from itertools import product n = int(input()) a = list(map(int, input().split())) plus, minus, multiple, divide = map(int, input().split()) result = [] pro = list(prod..
https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 음.. 다이나믹 프로그래밍인데 삽질을 좀 했다. 일단 내 코드부터 올려본다. n = int(input()) tp = [] #이차원 배열로 삽입 for _ in range(n): t,p = map(int, input().split()) tp.append([t,p]) result = [0] * n count = 1 if tp[0][0] > count: result[0] = 0 else: result[0] = tp[0][1] for i in range(1, n): count += 1 available = [] for j in range(i..
나의 답안 풀면서도 왠지 모를 찜찜함이 있었다.. 이것이 과연 max 답안일까? n = int(input()) k = list(map(int, input().split())) max_answer = 0 for i in range(len(k)): answer = 0 answer += k[i] for j in range(i+2,len(k),2): answer += k[j] max_answer = max(answer, max_answer) print(max_answer) 입력 예시에는 올바른 답이 출력됐지만 더많은 테스트 케이스가 있으면 틀릴 거라는 생각이 들었다. 지금 보고 있는데 그 말이 맞는듯.. 이문제는 다이나믹 프로그래밍 문제이기 때문에, 문제를 작은 문제로 쪼개고 결과 값을 미리 저장해둔 다음 그 ..
이전에 풀었던 뱀 문제를 복습하려고 풀어봤다. 이번에는 예전 문제를 복습하는 거라 어렵지 않게 풀수있었다. 그런데, 맵의 외곽이 항상 바다로 구성되어 있기 때문에 캐릭터가 밖으로 떨어지지 못한다. 이 부분을 알고 있었다면 조금 더 쉽게 풀 수 있었을 것 같다. n, m = map(int, input().split()) x, y, d = map(int, input().split()) game_map = [] for _ in range(n): game_map.append(list(map(int, input().split()))) dx = [0, 1, 0, -1] dy = [-1, 0, 1, 0] visit = [] def rotate(d): if d == 0: return 3 else: return d-1 ..
https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 내가 작성한 코드 def rotate(key): #90도 회전 return key def isopen(key, lock): #맞는지 안맞는지 return def solution(key, lock): n = len(lock) m = len(key) new_lock = [[0 for _ in range(m+2*n)] for _ in range(m+2*n)] #i = m-1 #j = m-1 #new_lock[i][j..
아주 오래간만의 글이다. 그동안은 막학기와 졸업요건으로 인해 매우 바빴다.. 약 일년간의 프로젝트가 드디어 끝이 났다. 수상은 2주전부터 알았지만 오늘 드디어 상장이 왔다. 이노그리드에서 후원해주는 상인것 같다. 동상이다! 동상이지만 무려 200만원이나 주신다고 한다. (세금 4.4% 떼고 190만원 정도 준다.) 대상 타면 천만원! (세상에 넘 부럽다.) 수상도 한 김에, 대회에 참여하면서 얻게 된 것들에 대해 얘기해보려 한다. 기능테스트, 오픈소스 라이선스 1차 심사를 통과한 50팀에게는 기능테스트와 오픈소스 라이선스를 충족하는지 여부를 검사할 자격이 주어진다. 여기서 얻어낸 점수와 1차 심사 점수, 발표 점수를 합산해서 최종적으로 27팀에게 상을 수여한다. 그런데 기능테스트가 뭐야? 오픈소스 라이선..
이전에 잘 동작하던 프로그램이 갑자기 핵심 이미지가 세개인 수어를 인식할 때 매우 버벅거리는 문제가 생겼다. 이에 따라 코드 개선에 도전해봤다. 참고로 우리가 개발중인 손마리 프로그램은 detect한 결과들을 리스트에 저장한 뒤, 해당 리스트를 통해 최종 단어를 출력해주는 프로그램이다. 예를 들면 '쓰러지다1'과 '쓰러지다2'가 차례로 인식된 경우, ['쓰러지다1', '쓰러지다2'] 처럼 리스트에 결과를 저장한 뒤 '쓰러지다'를 출력하도록 코딩하는 것이다. 여기서는 이미지가 1,2로 두개로 나뉘어져있는 경우만 나와있지만 변비1,변비2,변비3 처럼 이미지가 세개인 단어들도 여럿 있다. 그렇다면 리스트에 결과를 저장하는 것은 어떻게 구현할까? 원래의 코드는 아래처럼 효율이 좀 떨어지고 직관적이지 않은 코드였..
pyqt를 잘 몰라서.. 의외로 이 파트가 어려웠다. ui는 간단하게 구현하기 위해 pyqt를 이용하였고 환자의 수어를 번역하여 출력하는 yolo 창만 남겨두고 최대한 단순화했다. 또한 내 노트북 상으로는 실행은 잘됐는데, 팀원 노트북에서는 실행도 되지 않았다. 다른 것들은 제외하고 pyqt로 darknet을 이용해 번역한 이미지를 가져오는 방법에 대해 설명해보겠다. 아래는 ui를 실행시키는 sonmari.py 코드이다. 핵심은 3중 쓰레드 마지막 줄에 보면 sonmari_video.drawing을 실행시키도록 되어있는데, self를 전달하여 해당 윈도우 객체를 전달해주는것이다. width = darknet.network_width(network) height = darknet.network_height..