본문 바로가기

분류 전체보기

(221)
[Programmers] 거리두기 확인하기 (Python 풀이) https://programmers.co.kr/learn/courses/30/lessons/81302#fn1 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 이 문제는 거리가 'P' 사이의 맨해튼 거리가 2이하인 경우 파티션 여부를 확인하여..
[Programmers] 기능개발 (Python 풀이) https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 이 문제는 큐/스택을 적절히 활용하여 풀 수 있는 문제이며, 저는 풀이에서 collections의 deque(양방향 큐) 자료구조를 이용하여 풀이하였습니다. 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 import math from collections import dequ..
[Programmers] 이중우선순위큐 (Python 풀이) https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 이 문제는 입력되는 명령어를 하나씩 읽어와 명령어의 동작대로 처리한다면 쉽게 풀 수 있는 문제입니다. 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다.라는 조건이 있어서 다음과 같이 처리했습니다. # 최대, 최소인 값이 여러개인 경우에도 remove()는 하나의 원소만 삭제합니다. answer.remove(max(answer)) answer.remove(min(answer)) 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def solution..
[Programmers] 빛의 경로 사이클 (Python 풀이) https://programmers.co.kr/learn/courses/30/lessons/86052 코딩테스트 연습 - 빛의 경로 사이클 각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진 programmers.co.kr 이 문제는 좌표에서의 빛의 이동 방향에 따라 어떤 사이클이 존재하는지, 또 해당 사이클의 길이는 어떻게 되는지 조사하는 문제입니다. ㅁ 각 좌표에 대해 4방향에서 전송되는 값에 대하여 탐색을 하며 빛을 이동 시킵니다. 만약 중복이 되는 방향이 나타나는 경우 탐색을 정지해야합니다. 예를 들어 좌표 A에 방향 d가 중복되서 발견되는 경우..
[Programmers] 입국심사 (Python 풀이) https://programmers.co.kr/learn/courses/30/lessons/43238?language=python3 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 이 문제는 풀어야할 문제는 쉽지만 제한사항이 엄격하여 알고리즘을 잘 사용하지 않으면 통과하기 쉽지 않습니다. 제한사항 입국심사를 기다리는 사람은 1명 이상 1,000,000,000명 이하입니다. 각 심사관이 한 명을 심사하는데 걸리는 시간은 1분 이상 1,000,000,000분 이하입니다. 심사관은 1명 이상 100,000명 이하입니..
[Programmers] 디스크 컨트롤러 (Python 풀이) https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 이 문제를 풀기 위해서는 python의 heapq 라이브러리를 다룰 수 있어야합니다. 관련 정보는 다음 사이트를 참고하세요. https://docs.python.org/ko/3/library/heapq.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import ..
[Linux] LVM(Logical Volume Manager) 구성하기(CentOS 7) 보호되어 있는 글입니다.
[Terraform] Terraform을 이용하여 AWS EC2 Ubuntu Instance 생성(VPC, Subnet, Private IP 설정) Terraform을 이용하여 AWS 환경에서 Ubuntu 인스턴스를 생성하는 예제에 대하여 살펴보겠습니다. 다음의 Terraform Document를 참조하였습니다. https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance Terraform Registry registry.terraform.io 실습환경은 다음과 같습니다. Ubuntu 22.04 LTS aws-cli/2.7.0 Terraform v1.3.0-dev on linux_arm64 Terraform 코드 작성 인스턴스 타입 및 AMI 확인 코드를 작성하기전 AWS Management Console에 접속하여 필요한 정보를 확인해야합니다. 1. 인스턴스..
[Python] Context Manager(컨텍스트 관리자) Context Manager 컨텍스트 매니저는 원하는 타이밍에 정확하게 리소스를 할당하고 제공하는 역할을 합니다. 보통 리소스 관리와 관련하여 Context Manager를 자주 사용합니다. 일단 파일을 열면 파일 디스크립터의 누수(resource leak)을 막기 위해 작업이 끝나면 적절히 닫히길 기대합니다. 또는 서비스나 소켓에 대한 연결을 열었을 때도 적절히 닫거나 임시 파일을 제거하는 등의 작업을 해야합니다. 위와 같은 경우에 일반적으로 할당된 모든 리소스를 해제해야 합니다. 모든 것이 잘 처리되었을 경우의 해제는 쉽지만 예외가 발생하거나 오류를 처리해야 하는 경우 모든 조합과 실행 경로에 대하여 처리하는 것은 쉽지 않습니다. 이 때 일반적으로 finally 블록에 정리 코드를 넣는 방법이 있습니..
[Terraform] Terraform을 이용하여 AWS 리소스 생성/변경/삭제 (AWS Provider) Terraform에서 AWS Provider를 이용하여 간단하게 VPC를 생성/변경/삭제하는 실습을 해보겠습니다. 실습환경은 다음과 같습니다. Ubuntu 22.04 LTS aws-cli/2.7.0 Terraform v1.3.0-dev on linux_arm64 Terraform AWS Provider Terraform AWS Provider 관련된 정보는 다음 사이트에서 확인할 수 있습니다. https://registry.terraform.io/providers/hashicorp/aws/latest Terraform Registry registry.terraform.io AWS 자격 증명 확인 AWS 리소스에 대한 권한이 필요하므로 AWS CLI 사용자 인증이 활성화되어 있어야 합니다. AWS CLI ..