분류 전체보기 1185

[BOJ] 2774 - 아름다운 수

문제 https://www.acmicpc.net/problem/2774 임의 개수의 10진수를 입력받아, 입력받은 값의 서로 다른 숫자의 개수를 출력하는 프로그램을 작성하라. 풀이 1. 10진수를 문자열로 입력받는다. 2. 입력 문자열의 중복을 제거한다. 3. 중복을 제거한 결과값의 길이를 출력한다. 코드 import sys for i in '_' * int(sys.stdin.readline()): print(len(set(sys.stdin.readline()[:-1]))) 문자열의 중복을 제거하는 방법에는 여러 방법이 존재하지만 여기서는 간단하게 set으로 형변환하는 방식을 사용했다. 참고로 문자열을 set으로 형변환할 때 list로 형변환을 거칠 필요는 없다. 값을 입력받을 때 sys.stdin.re..

Algorithm/백준 2022.02.05

[Windows 10] telnet 활성화

Window 10 cmd 또는 powershell에서도 telnet을 사용하고자 한다. 기본적으로 활성화가 되어 있지 않아 별도 활성화 과정이 필요하며, 그 내용을 정리해둔다. 방법 1. 제어판 > 프로그램 접근 단축키 : Win + R => control 입력 2. 프로그램 및 기능의 Windows 기능 켜기/끄기 클릭 3. 텔넷 클라이언트 체크 및 확인 4. 활성화 확인 정상적으로 활성화된 것을 확인할 수 있다.

Windows 2022.02.04

[BOJ] 2920 - 음계

문제 https://www.acmicpc.net/problem/2920 다장조는 c d e f g a b C의 8 음계로 구성되어 있다. c는 1로, d는 2로, ..., C를 8로 변환한다고 했을 때 1부터 8까지 차례대로 연주하면 ascending을, 8부터 1까지 차례대로 연주하면 descending, 두 경우에 해당하지 않으면 mixed라고 하자. 연주한 순서를 입력받아, 해당 연주의 ascending/descending/mixed 여부를 판단하라. 풀이 내 풀이 1. 입력받은 값을 리스트에 저장한다. 2. mixed 여부를 확인하기 위한 플래그 변수를 False로 초기화한다. 3. 리스트의 처음 값과 그 다음 값을 비교하여, ascending으로 시작하는지 descending으로 시작하는지 확인..

Algorithm/백준 2022.02.03

[shutdown/reboot/init] 시스템 재부팅

서버 이상으로 재부팅이 필요한 상황이다. 물리 하드웨어 재부팅이 불가능한 상황이라 콘솔 상에서 재부팅 명령을 실행하고자 한다. 이 글에서는 재부팅 시도 시 사용할 수 있는 명령어를 정리한다. 수행에는 root 권한이 필요하다. shutdown -r 옵션과 재부팅 수행 시점을 지정해야 한다. -f 옵션 사용 시 시스템 종료에 해당하므로 물리적으로 시스템을 기동시켜야 한다. # 지금 재부팅 shutdown -r now # 전달 받은 시간(분) 이후 재부팅 shutdown -r shutdown -r 15 # 지정 시간에 재부팅 shutdown -r hh:mm shutdown -r 18:45 동작 순서 1. 실행 중인 모든 프로세스 kill (SIGKILL) 2. File System unmount 3. Ker..

Linux 2022.02.02

Helm Concepts

이미지 버전, 디스크 용량, 애플리케이션 관리자 비밀번호 등 쿠버네티스 환경에서 애플리케이션은 환경에 따라 다른 값을 가질 수 있다. Helm은 아래와 같은 방식을 통해 하나의 패키지로 여러 환경을 구성할 수 있도록 한다. - 값을 변수로 취급할 수 있도록 파일을 템플릿으로 변환한다. - 변수는 중괄호로 감싸서 나타내며, 값을 식별할 변수명을 적는다. 값은 values.yaml에 저장된다. 즉, 템플릿과 values.yaml이 결합한 것이 쿠버네티스가 클러스터에 애플리케이션을 배포하는 데 사용하는 정의 파일에 해당한다. helm chart template + values.yaml + Chart.yaml Chart.yaml에는 차트의 이름, 버전, 설명과 같은 차트와 관련된 정보들이 저장되어 있다. 사용자..

[BOJ] 10820 - 문자열 분석

문제 https://www.acmicpc.net/problem/10820 임의의 개수의 문자열을 입력받아, 문자열에 포함된 소문자, 대문자, 숫자, 공백의 개수를 구하여라. 내 풀이 체크할 것과 그 개수를 key, value로 하는 딕셔너리를 사용했다. 문자열 입력을 시도한 후 입력이 있으면 소문자, 대문자, 숫자, 공백의 개수를 확인하고, 입력이 없으면 프로그램을 종료한다. 숫자는 형변환 시도 시 에러 여부 발생으로 확인했다. import sys while True: d = {"lower": 0, "upper": 0, "number": 0, "space": 0} try: s = input() for t in s: if t == " ": # 공백 d["space"] += 1 else: try: # 숫자 ..

Algorithm/백준 2022.01.31

Install Helm

이 글에서는 Helm을 설치하는 방법에 대해 간단히 정리한다. Helm은 리눅스, 윈도우, 맥 OS 등의 환경에 설치할 수 있으며, 설치에는 아래와 같은 전제 조건이 필요하다. 1. 동작 중인 kubernetes Cluster 2. 적절한 자격 증명이 구성된 kubectl Snap (Linux) snap install helm --classic snap; snapcraft Canonical에서 개발한 소프트웨어 배포 및 패키디 도구. 패키지 관리 시스템 샌드박스 형태의 애플리케이션 포맷을 사용함으로써 의존성 문제를 완화하고 애플리케이션 간 간섭일 불가능한 보안 환경을 특징으로 한다. apt (Debian/Ubuntu) Key 및 소스 리스트를 추가해야 한다. curl https://baltocdn.com..

[MySQL/MariaDB] 예약어가 포함된 컬럼/DB 사용

SQL는 다른 프로그래밍 언어와 마찬가지로 예약어가 존재하며, 버전이 업그레이드되면서 새로운 예약어가 추가되곤 한다. 때문에 MySQL/MariaDB 등을 업그레이드할 때에는 업그레이드되는 버전에 추가되는 예약어가 기존의 선언된 데이터베이스명, 테이블명, 컬럼명 등으로 사용되고 있지는 않은지 확인 및 조치해야 한다. 업그레이드 후 쿼리 수행 시 컬럼명이 아닌 예약어로 인식되어 아래와 같은 syntax 에러가 발생하기 때문이다. order는 데이터를 오름차순, 또는 내림차순으로 정렬하여 출력하기 위한 예약어이다. 해결 방법은 어렵지 않다. 방법 1. 문제가 되는 데이터베이스명, 테이블명, 컬럼명 등을 수정한다. 방법 2. 쿼리 수행 시 문제가 되는 데이터베이스명, 테이블명, 컬럼명 등을 `(grave ac..

Database 2022.01.29

Helm Introduction

Kubernetes 클러스터에 배포된 애플리케이션이 얼마나 복잡하든, Kubernetes는 각 인프라를 관리할 수 있다. 다만 Kubernetes는 클러스터에 선언된 객체가 존재하고 동작하는 상태를 유지할 뿐, 클러스터 내에서 동작하고 있는 애플리케이션에는 관심이 없다. 즉, 부분 각각을 개별적으로 관리하고 처리한다. Helm Kubernetes 클러스터 내의 각 부분을 애플리케이션과 함께 고려하기 위해 개발되었으며, Kubernetes의 패키지 매니저라고 불린다. Helm은 Kubernetes 객체를 큰 패키지의 부분으로 취급한다. 따라서 Kubernetes 관리자는 변경 작업 수행 시 어떤 패키지에 대해 어떤 개체를 어떻게 변경해야 하는지 지시해야 한다. 패키지 설치 Helm은 설치 마법사와 같이 애..

[BOJ] 10101 - 삼각형 외우기

문제 https://www.acmicpc.net/problem/10101 삼각형의 세 각을 입력받아, 아래와 같이 조건에 따라 정해진 문자열을 출력하라. 세 각의 크기가 모두 60인 경우 : Equilateral 세 각의 합이 180이고 두 각이 같은 경우 : Isosceles 세 각의 합이 180이고 같은 각이 없는 경우 : Scalene 세 각의 합이 180이 아닌 경우 : Error 풀이 조건문만 다룰 줄 안다면 해결할 수 있는 간단한 문제다. 이 글에서는 조건문을 이용한 방법 외에도 다른 방법으로 해결한 코드도 함께 정리한다. 1. 조건문 이용 세 개의 숫자에서 같은 값이 있는지를 따져볼 때에는, 정렬한 숫자 목록의 중간값에 해당하는 값(가운데에 위치한 숫자)이 몇 개인지 확인하면 판단할 수 있다..

Algorithm/백준 2022.01.27