본문 바로가기

분류 전체보기163

Docker Compose란? 여러 개의 컨테이너를 관리해야 할 때 유용한 Docker compose에 대해서 알아보자. docker-compose.yml 파일을 살펴보자. 아래 파일 설정은 dind, springboot 그리고 nginx를 사용하고 있다.  이 docker-compose.yml 파일은 3개의 주요 서비스(dind, springboot, nginx)를 포함하여 서로 통신할 수 있도록 app-network라는 네트워크로 연결한 구조입니다. 이 docker-compose.yml 파일은 Docker-in-Docker, Spring Boot 애플리케이션, Nginx 웹 서버를 설정합니다. dind는 도커 엔진 역할을 하며, springboot는 스프링 부트 백엔드를 실행하고, nginx는 이 백엔드로부터 요청을 처리하는 프런.. 2024. 10. 9.
백준 2108 통계학 (파이썬) https://www.acmicpc.net/problem/2108 문제핵심1. 산술평균, 중앙값 최빈값, 범위 총 4가지 값을 구해야 한다.2. 최빈값을 구하는 방법을 잘 고려할 것(저는 dict를 사용했습니다) 풀이n = int(input())nums = []for i in range(n): nums.append(int(input()))#1.meanmean = round(sum(nums)/n)print(mean)#2.mediannums.sort()median = nums[n//2]print(median)#3.modedic = dict()for i in nums: if i in dic: dic[i] += 1 else: dic[i] = 1maxinum_mode_va.. 2024. 9. 23.
프로그래머스 귤 고르기 (파이썬) https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  접근법 #1 ### 풀이 1 dict 사용, ## 핵심 key ## a = dict(sorted(a.items(), key = lambda x:x[1], reverse = True))def solution(k, tangerine): answer = 0 dic = {} for i in tangerine: if i in dic: dic[i] += 1 .. 2024. 9. 4.
백준 2470 두 용액 (파이썬) https://www.acmicpc.net/problem/2470 문제핵심1. 음수 양수 상관없이 가까운 값을 찾는 것이기 때문에 절댓값을 이용해야겠다는 아이디어2. 정렬 후 왼쪽 끝과 오른쪽 끝을 정해두고 while left  팁1. 2e+9는 2 x 10^9를 나타낸다2. answer = [1, 2]와 같이 list로 되어있는 경우 *answer처럼 앞에 *(Asterisk)를 붙이면 괄호 안 내용은 1, 2로 출력된다. 풀이n = int(input())water = list(map(int, input().split()))water.sort() left = 0right = n - 1min_sum = 2e+9+1answer = [0, 0]while left 2024. 8. 28.
백준 1931 회의실 배정 (파이썬) https://www.acmicpc.net/problem/1931 문제핵심 아래 두 조건을 모두 만족시키는 정렬이 필요하다.1. 끝나는 시간으로 오름차순 (끝나는 시간이 짧을수록 회의를 많이 할 수 있기 때문에)2. 시작하는 시간으로 오름차순 코드n = int(input())meet = []for _ in range(n): start, end = map(int, input().split()) meet.append((start, end))meet.sort(key=lambda x: (x[1], x[0]))time = 0count = 0for i in meet: if time  어제 https://zhocoding.tistory.com/161 여기서 사용했던 lambda를 이용한 정렬을 해주면.. 2024. 8. 27.
백준 20920 영단어 암기는 어려워 파이썬 https://www.acmicpc.net/problem/20920  문제핵심단어를 여러 개 입력받은 후 3가지 조건으로 정렬을 하면 되는 문제이다.1. 단어의 빈도수2. 단어의 길이3. 단어의 알파벳 사전순서 문제에서 다중조건의 정렬이 있다면 dictionary와 lambda를 이용해서 풀면 효과적이라는 것을 생각하자! 코드import sysinput = sys.stdin.readlineN, M = map(int, input().split())d = {}for _ in range(N): word = input().rstrip() if len(word)  여기서 x[1]은 dic에서 value인 단어빈도수이며, x[0]은 key인 단어 그 자체이다.따라서-x[1] : 단어 빈도수 순서 .. 2024. 8. 26.
백준 23971 ZOAC 4 파이썬 https://www.acmicpc.net/problem/23971 문제 풀이 (10분 소요)h,w,n,m = list(map(int,input().split()))c = (h+n)//(n+1)r = (w+m)//(m+1)print(c*r) 세로, 가로 줄은 서로 관계가 없기에 가로, 세로 각각 구해준 후 두 값을 곱해주는 방식으로 풀었다 풀이가 명확하면 매우 쉽지만 그렇지 않다면 조금 고민을 할 수도 있는 문제라고 생각한다 2024. 8. 26.
백준 10815 파이썬 (이진탐색, Binary Search) https://www.acmicpc.net/problem/10815 python의 in을 이용하여 풀려고 하면 시간초과가 나는 문제입니다. 문제에서 입력값이 "-10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다"라고 되어있기 때문에 이렇게 큰 수가 포함된 배열 문제는 이진탐색을 이용하면 좋습니다. 매 단계마다 범위를 절반으로 줄이기 때문입니다. 개념이진탐색(Binary Search)은 정렬된 배열이나 리스트에서 원하는 값을 효율적으로 찾는 알고리즘입니다. 이진탐색은 다음과 같은 방식으로 작동합니다:초기 설정: 배열의 시작 인덱스(left)와 끝 인덱스(right)를 설정합니다. 일반적으로 left는 0, right는 배열의 마지막 인덱스입니다.중간값 계산: 중간 인덱스(mid)를 .. 2024. 6. 14.
LMS Web 클론코딩 13 (이미지 업로드) 2024/02/04 이제 게시글에 이미지를 업로드하는 기능을 추가할 것이다. 이미지 업로드는 db에 이미지 원본을 넣어 저장을 하는 것이 아니라 이미지 데이터의 정보를 저장하고, 프로젝트에서 이미지를 필요로 할 때 DB에 저장된 이미지 데이터 정보(path, name, size 등)를 통해 가져온다. local서버에 이미지를 저장하는 방법도 있고, 다른 서버를 대여하여 올리는 방법도 있다. 대표적으로는 aws의 s3를 많이 사용한다. 일단 나는 이미지 업로드 기능 자체를 구현하는것이 목표였기에, 내 local에 이미지를 저장하는 방법으로 진행했다. 1. PostFile 도메인 생성, db table 생성하기 package com.example.myapp.domain; import lombok.Getter.. 2024. 2. 7.