전체 글 267

[Python] 뉴스 클러스터링

# 두글자씩 끊은 다중집합 만들기 def make_set(str): str_set = [] for i in range(len(str)-1): temp = str[i:i+2] # 두글자씩 끊기 if temp.isalpha(): # 글자에 기호나 숫자 없다면 str_set.append(temp) # 추가 return str_set def solution(str1, str2): str1 = str1.upper() # 대소문자 차이 무시하므로 둘다 대문자로 변환 str2 = str2.upper() str1_set = make_set(str1) # 각 문자열 다중집합으로 만들기 str2_set = make_set(str2) intersection = 0 # 교집합 계산 for i in str1_set: if i ..

빌드 관리 도구 (Maven vs Gradle)

빌드 관리 도구란 ? 프로젝트에서 작성한 Java 코드와 프로젝트 내에 필요한 각종 xml, properties, jar 파일들을 JVM이나 WAS가 인식할 수 있도록 패키징 해주는 빌드 과정이 "빌드 자동화 도구"라고 할 수 있다. 빌드 도구는 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램이며, 빠른 기간 동안 계속해서 늘어나는 라이브러리 추가 프로젝트를 진행하고, 라이브러리의 버전 동기화의 어려움을 해소하고자 등장했다. 1. ANT Ant는 Java 기반의 빌드 도구로 다른 빌드 도구보다 역사가 오래되었다. Ant는 개발자가 원하는 것을 개발할 수 있다는 유연성에 큰 장점이 있다. 각 프로젝트에 대한 XML 기반 빌드 스크립트 개발 형식적 규칙이 없다 → 결과물을 넣을 위치를 정..

CS 2021.05.27

웹 도구 Spring Initializr 이용하여 Spring 프로젝트 생성하기

1. 스프링 부트 스타터 사이트로 이동 https://start.spring.io 2. 원하는 사항 선택 Project : 빌드 관리 도구 선택 요즘은 Gradle을 많이 쓰는 추세이다. 상세한 건 빌드 관리 도구 글 참고 2021.05.27 - [CS] - 빌드 관리 도구 (Maven vs Gradle) Language : 언어 선택 Spring Boot : 버전 선택 버전 뒤에 (SNAPSHOT)이 붙어 있다면 아직 만들고 있는 버전이고, (M1)은 아직 정식 release 된 버전이 아니다. 따라서 정식 release 중에서 가장 최신의 버전으로 선택한다. 글을 작성하는 현재는 2.5.0을 선택해주었다. Group : 기업 도메인명 같은 것을 넣어준다. 개인 프로젝트라면 자신의 블로그 도메인을 사용..

Web/Spring 2021.05.27

[Python] 전화번호 목록

def solution(phone_book): phone_book.sort() for i, num in enumerate(phone_book) : l = len(num) if num == phone_book[i+1][:l] : return False if i == len(phone_book)-2 : return True 풀이 1. phone_book을 정렬한다. 좀 더 빠르게 파악할 수 있다. 예) ["12","45","56","123","1235","567","88"] 이면 ['12', '123', '1235', '45', '56', '567', '88']으로 정렬된다. 2. for문과 enumerate()를 통해 인덱스(i)와 번호(num)을 받아와 바로 다음(i+1)에 있는 숫자의 접두사이면 Fal..

[Python] 예산

def solution(d, budget): count = 0 d.sort() for num in d : budget -= num if budget < 0 : break count += 1 return count 풀이 적은 예산을 신청한 부서들부터 차례로 예산을 나누어 주는 것이 최대한 많은 부서를 지원해줄 수 있게 된다. 따라서 sort함수를 통해 부서 리스트를 정렬하고 적은 예산을 신청한 부서부터 반복문을 통해 예산에서 빼주고, count해준다. 그리고 예산이 0보다 작아진다면 반복문을 멈춘다.

[Python] 음양 더하기

def solution(absolutes, signs): answer = 0 for num, sign in zip(absolutes, signs) : if sign : answer += num else : answer += -num return answer 풀이 zip 함수를 이용한다면 간단하게 풀 수 있는 문제이다. ✔︎ zip 함수 : 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수이다. >>> list(zip([1, 2, 3], [4, 5, 6])) [(1, 4), (2, 5), (3, 6)] >>> list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9])) [(1, 4, 7), (2, 5, 8), (3, 6, 9)] for문을 이용한다면 튜플을 하나씩 반환하고, 해당..