본문 바로가기

728x90
반응형

분류 전체보기

(337)
[LeetCode] Array-partition-i 문제 Given an integer array nums of 2n integers, group these integers into n pairs (a1, b1), (a2, b2), ..., (an, bn) such that the sum of min(ai, bi) for all i is maximized. Return the maximized sum. Input: nums = [1,4,3,2] Output: 4 Explanation: All possible pairings (ignoring the ordering of elements) are: 1. (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3 2. (1, 3), (2, 4) -> min(1, 3) + mi..
[BakJoon] 2675, 문자열 반복 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. Source import sys total_count = int(sy..
[Docker] MySQL Container에 스크립트 파일 실행하기 개요 시도하고자 했던 것은 테스트에 필요한 DB 환경을 로컬에 만들 때 Dockerfile에 `mysql -u root -p DB_NAME < *. sql` 와 같은 명령 입력단계를 없애보고 싶은 생각에서 출발했습니다. Dockerfile에는 특정 명령을 통해 컨테이너가 실행될 때 또는 실행되면서 동작해야 할 내용을 적을 수 있는데 이 과정에서 `mysql -u root -p DB_NAME < *. sql` 이 명령어가 실행이 안 되는 현상을 발견했습니다 apt-key 추가 Dockerfile에서 apt update가 안 되는 현상을 겪었는데 다음과 같이 apt-key를 넣어줌으로써 해결했습니다. $ RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-k..
[Django] Select && Prefetch Related ! 개요 Django ORM에서 참조 관계에 있는 모델 간에 데이터를 가져오게 될 때 사용하는 select_related & prefetch_related가 무엇인지 조사해봤다. Model 이 포스팅에서 사용할 모델은 다음과 같다. from django.db import models class Machine(models.Model): name = models.CharField(max_length=120) class History(models.Model): # 객체 이름을 참조할 떄는 string으로 circular import 방지를 위해 machine = models.ForeignKey("Machine", related_name="history_set", on_delete=models.CASCADE) ob..
[Docker]CentOS로 systemctl 사용하기 Trouble Shoot cgroup 사용하기 안 된다 cgroup은 리눅스 커널 모듈이므로 M1 Mac은 커널이 Centos와 다르기 때문에 안된다고 한다. cgroup 이 안 되니 당연히 /sys/fs/cgroup를 docker로 마운트해서 사용하는 것도 불가능하다. Centos 내부에서 systemctl을 사용하기 위한 모듈 설치 안 된다 6~7 버전을 시험삼아 사용할 때 yum으로 dbus와 systemd 모듈을 설치 후 시도했지만 실패함 Intel Chip 기반에서는? Intel Chip 기반 맥이 없어서 모르겠다 How To ? 환경 M1 Mac Monterey 기반에서 테스트 다음과 같은 항목을 이용하여 docker에 nginx를 올리고 nginx에 reverse proxy를 이용해 djan..
[CodeUp] 6079, 언제까지 더해야 할까? 1, 2, 3 ... 을 계속 더해 나갈 때, 그 합이 입력한 정수(0 ~ 1000) 보다 같거나 작을 때까지만 계속 더하는 프로그램을 작성해보자. 즉, 1부터 n까지 정수를 계속 더해 나간다고 할 때, 어디까지 더해야 입력한 수보다 같거나 커지는 지를 알아보고자 하는 문제이다. 입력 정수 1개가 입력된다. 출력 1, 2, 3, 4, 5 ... 를 순서대로 계속 더해 합을 만들어가다가, 입력된 정수와 같거나 커졌을 때, 마지막에 더한 정수를 출력한다. Solve number = int(input()) _sum = 0 result = 0 for x in range(1, number): if _sum >= number: break if _sum
[Pycharm] Project Source가 인식이 안될 때 개요 맥에서 작업한 소스를 repository에 merge 시키고 집에 와서 가상 머신으로 pull을 당겨야 했다. 문제는 이 과정에서 가상 머신에서 작업 중이던 파일들을 커밋 없이 git reset --hard를 시켜버렸고 이상한 head를 가리키는 상태에서 pull을 당기니 당연히 충돌 나버렸다. 별 거 아니겠지 하면서 resolve 시키고 나서 보니 다음과 같이 Pycharm의 왼쪽 화면(사이드바)에 Project 파일들이 노란색으로 하이라이팅 되더니 Project의 Interpreter에서 Python Interpreter를 찾을 수 없는 현상이 발생했다. 뭐라고 검색해야되는지도 모를 상황이었는데 그냥 Pycharm 설정을 초기화하기로 결정했다. 문제는 Linux이다 보니 대충 지워서는 안 된다...
[TIL] Port Knocking [THM] Cat Pictures Date: 2021년 12월 12일 Essential - Port Knocking, 포트 노킹 - 정의 - 방화벽 포트를 닫아 서버를 보호하는 방법이다. - 개요 - 서버는 닫혀 있는 포트에 대해 패턴을 설정하며 클라이언트는 닫혀있는 포트에 대해 특정 패턴을 연결 요청을 하면 서버의 특정 포트를 개방하거나 폐쇄할 수 있다. - 언제? - 포트 스캐닝 툴을 이용해 개방된 포트이 노출 될 수 있는데 이를 숨기고자 할 때 사용할 수 있다. Configure 개요 Port Knocking을 통해 22 번 포트를 접근해보자 Port Knocking, 포트 노킹을 설정하는 방법 knockd 설치하기 sudo apt-get install knockd iptables에서 개방 포트 막..

728x90
반응형