전체 글

주저리주저리
알고리즘/Python

[python] 프로그래머스 - 124 나라의 숫자

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 더보기 첫 번째 풀이 : 효율성 테스트3 실패 def solution(n): answer = [] n = int(n) while n >= 3: rest = n % 3 if rest != 0: answer.append(str(rest)) n //= 3 else: answer.append('4') n = n // 3 - 1 answer.append(str(n)) return str(int(''.join(reversed(answer)))) 처음보자마자 한 생각은 n진법과 비슷한 규칙성이 있지 않을까?..

토이프로젝트/기타

[python] HWPtoPDF 프로그램

다운로드 개요 이걸 왜 만들었냐면 2021년에 정보처리기사 공부하다가 파일이 전부 hwp 확장자였다. hwp나 pptx는 어플에서 불러오지 못하거나 깨지는 경우가 많아서 전부 pdf로 바꿔주어야 했는데 2011년부터 2021년까지 10년치 기출문제를 전부........바꿔주기엔 너무 귀찮았다. (무엇보다 동기부여가 안됐다) 한글과 컴퓨터 API는 링크를 참고 (좀 불친절하다) 이 역시 동영상 프레임 추출 프로그램처럼 GUI에는 tkinter 라이브러리를 사용했고, exe 파일로 만드는데에는 pyinstaller 라이브러리를 사용하였다. 사용 라이브러리 pywin32 : 한글 프로그램을 다루기 위해 설치해야하는 라이브러리 코드 from glob import glob import win32com.client..

토이프로젝트/기타

[python-opencv] 동영상 프레임 추출 프로그램

다운로드 학교에서 졸업 프로젝트를 진행하면서 영상의 프레임을 추출해야하는 일이 생겨서 만든 프로그램이다. 이 작업 하나 때문에 프로그램 깔기도 좀 뭐하고 파이썬을 막 시작했을 때라 뭔가 만들어보면 좋을 것 같아서 만들었었다. gui는 tkinter 라이브러리로, 동영상 프레임은 opencv 추출하도록 짰고, exe파일화는 pyinstaller 라이브러리를 깔아서 만들었다. 지금도 그렇긴하지만 파이썬의 기초조차도 아에 모를 때라서 검색에 의존해서 마구자비로 만들었는데 꽤 최근까지도 나름 잘 썼었다.(그런데 폴더나 이름이 한글이면 관련 처리를 안해줘서 추출이 안됬던걸로 기억) import os desktop = os.path.join(os.path.expanduser('~'),'Desktop') def fi..

토이프로젝트/기타

[React] Numpad 만들기

GDSC KNU 활동을 하면서 FE 1팀에 속해 React 스터디 진행 중에 만든 과제이다. 이런 것도 토이 프로젝트일까 싶다만은 딱히 분류 게시판이 없어성....... 제한 조건은 다음과 같았다. - React를 이용할 것 - 휴대폰처럼 '-' 등장하도록 할 것 - 일정 글자 이상 시 제출 버튼 활성화 및 색상 변경 - 제출 버튼 클릭 시 페이지가 이동하고 입력한 값을 띄울 것 - Container-Presenter 패턴 사용할 것 Container-Presenter 패턴 화면에 보여지는 UI인 Presenter와 데이터를 처리하거나 실질적인 처리를 하는 Container를 분리하여 만드는 패턴 src │ App.js │ index.js │ ├─components │ BottomButton.js │ B..

알고리즘/Python

[python] 프로그래머스 - 타겟 넘버

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 더보기 풀이 def plus_minus(current, array, index, target, count): plus_node = current + array[index] minus_node = current - array[index] if index == len(array) - 1: if plus_..

알고리즘/Python

[python] 프로그래머스 - 가장 큰 수

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 더보기 첫 번째 풀이 : 테스트 케이스 10에서 시간 초과 def solution(number, k): answer = '' start = 0 for i in range(k+1, len(number)+1): max_val = max(number[start:i]) answer += max_val start += number[start:i].index(max_val) + 1 return answer 난 당연히 맞을거라고 생각하고 있었는데 시간초과가 나오길래 너무 당황스러웠다. 사고방식은 다음과 같다. n..

알고리즘/Python

[python] 프로그래머스 - 소수 찾기

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 소수 찾는 문제는 굉장히 전통적인 문제라서 효율적으로 찾는 방법을 알아두면 편하다. (아마 LV1에 소수 찾는 문제 중 효율정 테스트가 빡센 문제가 있는걸로 안다) 더보기 풀이 def isPrime(num): import math if num == 2: return True if num == 1 or num ..

알고리즘/Python

[python] 프로그래머스 - 구명보트

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 더보기 첫 번째 풀이 : 효율성 테스트 실패 def solution(people, limit): people.sort() count = 0 while len(people) > 0: sum_w = 0 max_val = people.pop() sum_w += max_val for index in ra..

알고리즘/Python

[python] 프로그래머스 - 카펫

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 더보기 풀이 def solution(brown, yellow): import math #yellow의 약수 중 각 +2하고 -4 한게 brown과 같은지 확인 divisors = [] for i in range(1, int(math.sqrt(yellow) + 1)): if yellow % i == 0: divisors...

일상

집 대출금 다 갚았다.

이제 이 집은 내꺼야!

알고리즘/Python

[python] 프로그래머스 - H-Index

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 더보기 풀이 def solution(citations): citations.sort(reverse = True) for index in range(len(citations)): subscribe_count = citations[index] if index + 1 > subscribe_coun..

알고리즘/Python

[python] 프로그래머스 - 가장 큰 수

출처 : 프로그래머스 코딩테스트 연습, https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 아니 이거 혹시 정렬 문제가 아니라 테스트 케이스 다 잡아내는게 목적인 문젠가요 아니 그것도 실력이긴 한데 너무 어려웡 더보기 첫 번째 풀이 : 망함ㅋ def solution(numbers): #정렬 기준을 잡는 문제 #어떻게 해야 최댓값이 나올까? #최댓값이..

제주도랏맨
제주도랏맨의 블로그