목록분류 전체보기 (64)
기록을 합시다.
전체적인 디렉토리 구조 📦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..
문제 요약 마라톤에 참여 하였지만 마라톤을 완주하지 못 한 사람을 구해야 한다. 중복된 이름이 있어서 그 점을 유의해야 한다. 문제에 나와있듯, 완주하지 못 한 사람은 딱 한 명이다. 내가 생각한 로직(python) collections 라이브러리의 Counter 클래스를 사용하여, 완주한 사람과 완주하지 못 한 사람을 이름 별로 세어준 딕셔너리 생성 딕셔너리들끼리 -연산을 한다. (python에서는 딕셔너리끼리 +, - 연산 가능) 값이 0이 아닌 이름이 곧 정답 파이썬으로 제출한 정답 from collections import Counter def solution(participant, completion): participant_dic = Counter(participant) completion_d..
문제 요약 모든 명함을 담을 수 있는 명함 케이스의 크기를 구하라 명함의 크기는 가로, 세로로 회전해서 넣을 수 있으므로 이 점 고려해야함 내가 생각한 로직 모든 명함의 가로, 세로를 크기 순으로 정렬한다. (ex. [30,70] => [70,30]) 크기순으로 정렬한 명함들 안에서 첫 번째 요소의 max값과 두 번째 요소의 max값을 구한다. 파이썬으로 제출한 정답 def solution(sizes): sorted_sizes = [] max_width = -1 max_height = -1 for size in sizes : n, m = size if n >= m: sorted_sizes.append(size) else: sorted_sizes.append([m, n]) for size in sorted..
문제 요약 commands변수에 담긴 명령들을 이용해서 배열을 부분 정렬하고, 부분 정렬한 곳에서 특정 인덱스의 값들을 반환하라. 파이썬으로 제출한 정답 def solution(array, commands): answer = [] for command in commands: a, b, idx = command new_list = sorted(array[a-1:b]) answer.append(new_list[idx-1]) return answer자바로 제출한 정답 import java.util.*; class Solution { public List solution(int[] array, int[][] commands) { List answer = new ArrayList(); for(int[] comma..
문제 요약 배열에서 나타나는 연속적인 숫자를 하나만 남기고 전부 제거하라. 파이썬으로 제출한 정답 def solution(arr): tmp = -1 answer = [] for i in arr: if tmp == i: continue else: tmp = i answer.append(i) return answer 자바로 제출한 정답 import java.util.*; public class Solution { public List solution(int []arr) { int tmp = -1; List answer = new ArrayList(); for(int num : arr){ if(tmp == num){ continue; }else{ //tmp와 num이 다를 때 tmp = num; answer...
문제 요약 폰켓몬은 제시된 폰켓몬 n개 중에서 2/n마리 가질 수 있다. 2/n 마리 중에는 중복은 있을 수 없다. 중복을 제외하면 최대 몇 마리까지 가질 수 있는지가 정답이다. 파이썬으로 제출한 정답 def solution(nums): types = len(set(nums)) n = len(nums) if n//2 > types: return types if n//2 types: return types if n//2
팀플을 현재 진행 하고 있는데, 도커 파일 하나 만들어서 다 같이 쓰면 좋을 것 같다는 생각을 했다. 그래서 한 번 도커 이미지 만들어보기 도전을 해보았다. 도커 프로젝트 폴더 생성하기 mkdir project-dockerfile 도커 프로젝트 내에서 도커 파일 생성하기 참고로 도커파일은 확장자가 없고, 그냥 파일명 자체가 Dockerfile이니 주의하자. FROM gvenzl/oracle-xe ENV ORACLE_PASSWORD=1234 RUN mkdir files VOLUME [ "/oradata:/opt/oracle/oradata/gvenzl/oracle-xe" ] COPY 001_projectDB.sql /container-entrypoint-initdb.d EXPOSE 1521 참고한 이미지는 ..
프로젝트 경로 +---dockerfile_apache2 | Dockerfile | httpd-vhosts.conf | httpd.conf | +---dockerfile_mariadb | db_board.sql | db_user.sql | Dockerfile | +---dockerfile_tomcat9 | Board.war | Dockerfile | server.xml | +---etc | Board.war | index.html | serverVersionView.jsp | \---miniboard_compose docker-compose.yml Apache2 Dockerfile 작성 FROM httpd #귀찮으니 안에서 설정안 하기 위해서 conf 파일들을 아예 옮겨준다. ADD httpd.conf /..