목록공부 (58)
기록을 합시다.
문제 요약 입을 수 있는 총 옷가지 수 (다 벗는 건 안됨ㅋ) 내가 생각한 로직 모든 경우의 수들을 구해준다. 구한 수들의 최대값을 구한다. 최대값까지의 소수들을 구한다. 소수들이 내가 구한 경우의 수들에 포함되는지 확인한다. 파이썬으로 제출한 정답 import collections import itertools def solution(numbers): numbers_list = list(numbers); number_combis=[] for i in range(1, len(numbers_list)+1): number_combis.extend(itertools.permutations(numbers_list, i)) max_num = 0 number_combi_list = [] for combi in se..
문제 요약 입을 수 있는 총 옷가지 수 (다 벗는 건 안됨ㅋ) 내가 생각한 로직 각 종류의 옷가지 수에 +1(옷 안 입은 거)들을 거듭해서 곱해주고, 마지막에 -1(다 벗은 경우의 수)을 해줘야 한다. 파이썬으로 제출한 정답 from collections import Counter def solution(clothes): clothes_dic = Counter([clothe[1] for clothe in clothes]) count = 1 for count_clothes in clothes_dic.values(): count = count*(count_clothes + 1) return count-1 자바로 제출한 정답 import java.util.*; class Solution { public int..
Github Action 돌리다가 jar 파일 Build를 해주는 job에서 오류가 났다. ./gradlew: Permission denied가 떴길래, gradlew의 권한을 수정해주는 커맨드를 아래와 같이 추가해주었다. 그랬더니 잘 돌아감..(근데 또 다시 다른 에러가 ^^..)
NAVER CLOUD PLATFORM cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification www.ncloud.com 첫 번째로, MySQL 서버를 만들어준다. 위에 고가용성 체크는 무조건 빼준다. 서버 두 개 설치해서 돈을 더 청구하려는 네이버의 간악한 속셈이다. 두 번째 단계에서 USER_ID랑 USER 암호는 MySQL 유저를 그냥 만드는 거라고 생각하면 된다. HOST는 서버에 접속할 수 있는 IP를 적는 건데, 나는 일단 그냥 %라고 적었다. 마지막 단계에서는 그냥 생성을 눌러주면 끝난다. 서버가 다 만들어지면, 아래와 같이 뜨는데 ACG를..
문제 요약 파이썬으로 제출한 정답 def solution(n, computers): visited = [False]*(n+2) tree = 0 for i in range(n): if visited[i] == False: DFS(n, i, visited, computers) tree += 1 return tree def DFS(n, start, visited, computers): visited[start] = True for i in range(n): if (visited[i] == False) and (computers[start][i]==1): DFS(n, i, visited, computers) 자바로 제출한 정답 import java.util.*; class Solution { public int..
문제 요약 모든 기능들은 매일 개발 하되, 맨 앞의 일들이 개발 완료된 후에야 뒤에 완료된 연속된 일들도 동시에 배포한다. 한 번 배포할 때, 몇 개의 기능들을 배포하게 되는지 구하라. 내가 생각한 로직 첫 번째 기능의 100-현재 진행상황을 구하고, 이를 개발 속도와 나눠 총 며칠 후에 개발이 완료되는지 확인한다. 구한 일 수를 가지고, 모든 기능들의 개발 상황에 개발 속도*구한 일 수를 더해준다. 파이썬으로 제출한 정답 import math import collections def solution(progresses, speeds): q = collections.deque(progresses); s = collections.deque(speeds); answer = [] count = 0 while ..
문제 요약 임의의 전화번호가 다른 전화번호의 앞자리와 같으면 false를 반환, 그렇지 않다면 true를 반환해준다. 파이썬으로 제출한 정답 def solution(phone_book): for i in range(len(phone_book)-1): for j in range(i+1, len(phone_book)): if len(phone_book[i]) len(phone_book[j]): #접두사가 하나라도 있으면 False if phone_book[i].startswith(pho..
전체적인 디렉토리 구조 📦project-dockerfile ┣ 📂Apache ┃ ┣ 📜Dockerfile ┃ ┣ 📜httpd-vhosts.conf ┃ ┗ 📜httpd.conf ┣ 📂Oracle ┃ ┣ 📜001_projectDB.sql ┃ ┗ 📜Dockerfile ┣ 📂Wahwah ┃ ┣ 📜Dockerfile ┃ ┗ 📜wah-wah-0.0.1-SNAPSHOT.jar ┗ 📜docker-compose.yml Spring Boot 설정 application.properties에 아래와 같은 설정 추가 # DB 설정 spring.jpa.database-platform=org.hibernate.dialect.Oracle12cDialect spring.datasource.url=jdbc:oracle:thin:@172..
문제 요약 주어진 배열의 순서를 바꾸지 않고, +/-를 이용하여 주어진 숫자가 나오도록 하는 방법을 구하라. 내가 생각한 로직 각각의 숫자가 +/-일 루트가 두 가지 가지로 쪼개진다. 마지막의 숫자를 더했을 때, 주어진 숫자가 나올 때, 방법 1가지가 나온다. 파이썬으로 제출한 정답 def solution(numbers, target): sup = [0] for i in numbers: sub = [] for j in sup: sub.append(j + i) sub.append(j - i) sup = sub return sup.count(target) 자바로 제출한 정답 class Solution { int answer = 0; public int solution(int[] numbers, int tar..
문제 요약 문제를 푸는 사람은 총 세 명, 각각 문제를 찍는 방법은 다르다. 문제의 정답을 제일 많이 맞춘 사람(사람들)의 배열이 답이다. 내가 생각한 로직 각각의 사람들과 정답을 비교하여, scores라는 배열에 사람들의 점수를 담는다. 배열의 최대값을 구하여, 사람들이 최대값을 충족하는지 확인하고, 만약 충족한다면 새 배열에 사람을 담는다. python으로 제출한 정답 def solution(answers): length = len(answers) first_person_answer = [1,2,3,4,5] * 5001 second_person_answer = [2,1,2,3,2,4,2,5] * 1251 third_person_answer = [3,3,1,1,2,2,4,4,5,5] * 1001 sco..