분류 전체보기

·Algorithm (PS)
https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 구현 + 브루트포스 + 그래프 탐색 문제였다. N 값이 3 ~ 6 으로 작아서 브루트포스로 장애물을 설치할 3군데를 정해서 풀어도 되는 문제였다. 선생님이 움직이지 않아서 상하좌우 방향으로 세로줄 전체와 가로줄 전체만 확인해주면 되었다. from itertools import combinations import sys input = sys.stdin.readline n = int(inpu..
서브넷 마스크 (Subnet Mask) 서브넷 마스크는 32bit로 표현된다. '0' 으로 표시되는 비트는 호스트를 나타내며 '1' 으로 표시되는 비트는 네트워크 부분을 나타낸다. IP 주소 체계에서 서브넷 마스크를 이용하여 네트워크 부분과 호스트 부분을 분리할 수 있다. IP 주소와 서브넷 마스크를 bit AND 연산하게 되면 네트워크 ID가 나오게 된다. 예를 들어, C class 에 해당하는 IP 주소 192.168.56.11 가 있다고 하자. C class의 기본 서브넷 마스크인 255.255.255.0과 AND 연산을 하면 다음과 같다. 사실 당연하게도 192.168.56.11의 네트워크 주소는 192.168.56.0 이지만, AND 연산을 수행하면 역시 네트워크 주소가 192.168.56.0이..
IP IP 란 Internet Protocol 의 약자이다. 인터넷에 연결되어 있는 장치들(host)을 식별할 수 있도록 부여되는 고유 주소이다. HTTP 메세지를 만들면 메세지를 송출하기 위해서 OS에 요청해서 송신해야 한다. 이때 URL에 있는 서버의 도메인 명에서 IP 주소를 조사해야 한다. OS에 송신을 요청할 때 도메인 명이 아니라 IP 주소로 수신자를 지정해야 하기때문이다. IP 주소는 네트워크 번호 + 호스트번호 이다. OO 동 OO 번지라는 주소가 있을 때 OO 동에 해당하는 것이 네트워크 번호이며 OO번지라는 상세주소가 각 장치들에 할당되는 호스트 번호가 된다. 서브넷이란 인터넷은 TCP/IP를 바탕으로 만들어 졌으며, TCP/IP는 서브넷이라는 작은네트워크 단위를 라우터에서 연결하여 전..
·Algorithm (PS)
https://www.acmicpc.net/problem/1956 1956번: 운동 첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2 ≤ V ≤ 400, 0 ≤ E ≤ V(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번 마을로 가는 거리가 c인 도로가 있다는 의 www.acmicpc.net pypy 로 제출해서 맞은 코드 플로이드워셜이라는 힌트를 가지고 풀었다. 처음에는 Union-find 로 사이클을 찾아야 하는가? 라고 생각했으나, 결국 문제에서는 최소 경로 비용을 구하는 것이 핵심이므로 플로이드 워셜로 푸는것이 더 적절하다고 판단했다. 우선,graph 구성했다. 예제를 기준으로 아래의 graph를 만들어 보았다. graph 에는 a-> b 가는..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제보고 DFS/BFS를 떠올렸다 2. 처음에는 DFS이고 최단 경로로 탐색하려면 아래방향이나 오른쪽 방향을 먼저 탐색하는 greedy 방식인가? 라고 생각했다 3. 그리고 모든 경로를 탐색해야 하므로 백트래킹으로 풀었다. 4. 테스트케이스에서 시간초과가 났다 해결방법 - DFS 모든 경로 탐색에서 안되는 경로를 빨리 쳐내야 한다 !! - DP 테이블을 이용한다. 탐색하지 않을 경로의 재귀함..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/81303 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 자료구조형에 대해 생각해 볼 수 있는 문제를 풀었당 문제상황 (시간 초과) 맨 첨에는 list 만들고 삭제하면 0 , 데이터 있는 값은 1 이렇게 테이블을 만들어주었다. 그러나 list 로 테이블을 관리하게 되면.. Z 복구 연산의 경우 0 -> 1로 바꿔주는거니 O(1) 이지만, 행들을 순차적으로 탐색해야 하는 U, D, C 연산의 경우 시간복잡도에서 걸린다. 최대 cmd 가 20000..
반복문 (loop) Playbook 에서 반복되는 작업을 수행하기 위해서 반복문을 사용할 수 있다. 반복문은 loop 로 표기한다. 주의할 점은 반복문은 작업의 하위 옵션이 아니라, 작업을 어떻게 제어할지에 대한 설정이므로 실행할 모듈과 같은 라인에 써주어야 한다 ! 또한 다른 프로그래밍 언어와 다르게, Playbook 에서 loop 문을 사용할 때 list 를 참조하는 변수 명은 항상 item 으로 고정해서 사용한다. 반복문을 이용하여 간단하게 리스트를 출력해보는 플레이북 정의 파일이다. - hosts: ansi-node1 tasks: - debug: msg: "{{ item }}" loop: ["linux", "ubuntu", "window", "mac"] 다음과 같이 반복문에 사용할 리스트를 변수명..
Fact (팩트 변수) 란? 관리하는 노드의 정보를 가지고 있는 변수이다. 이 정보에는 운영체제, 로컬 변수, IP 주소, NIC 등의 정보가 포함된다. fact 변수는 setup 모듈을 이용해서 정보를 확인할 수 있다. Adhoc 과 플레이북을 통해 setup 모듈을 실행할 수 있다. 모든 노드들에 대한 팩트변수 내용 확인하기 ansible all -m setup 팩트 변수 이름 참조하기 setup 모듈을 이용해서 ansible_ 접두사가 붙은 지정된 변수 이름으로 참조하면 원하는 팩트변수의 정보를 얻을 수 있다. Adhoc 명령어로 팩트 변수 참조하는 예시 $ ansible ansi-node1 -m setup -a "filter=ansible_distribution” -m 옵션으로 모듈을 지정하고, ..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (21 Page)