전체 글 50

만화로 배우는 리눅스 시스템 관리 3권

1화 고정 IP 주소를 할당하고 싶어 - IP주소를 고정하는 전통적인 설정 방법 데비안 계열(ubuntu 등) : /etc/network auto lo iface lo inet loopback #ip 자동 할당 #auto eth0 #iface eth0 inet dhcp auto eth0 → 컴퓨터 부팅시 eth0 자동 유효화 iface eth0 inet static → eth0에 고정 ip주소 할당 명시 address 192.168.20.100 → 고정 ip주소 netmask 255.255.255.0 → 서브넷 마스크 gateway 192.168.20.1 → 게이트웨이 # 설정 후 (sudo) ifdown eth0 (sudo) ifup eth0 레드헷 계열(페도라, CentOS 등) : /etc/sysc..

Infra/linux 2022.02.02

이것이 코딩테스트다 32 정수 삼각형

문제 링크 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net Test Case 문제 풀이 우선 입력은 줄구분 할필요 없이 그냥 list 한줄씩 입력을 받으면 된다. 그리고 for문을 통해서 각 케이스를 나눈 뒤, index 값을 고려해서 반복문을 만들어준다 i 의 범위 1~n, j 의 범위 0~i+1 인것은 각 인덱스의 최소,최대값을 생각하면 쉽게 범위를 잡을 수 있다. 마지막으로 정답 출력은 마지막줄에서 제일 큰 dp 배열의 값이 되므로 dp[n-1]의 값을 출력하면 된다. 여태까지 알고리즘 공부하고 풀이하던 방식을..

Develop/algorithm 2021.12.24

이것이 코딩테스트다 31 금광

문제 링크 n × m 크기의 금광이 있다. 금광은 1 × 1 크기의 칸으로 나누어져 있으며, 각 칸은 특정한 크기의 금이 들어 있다. 채굴자는 첫 번째 열부터 출발하여 금을 캐기 시작한다. 맨 처음에는 첫 번째 열의 어느 행에서든 출발할 수 있다. 이후에 m - 1번에 걸쳐서 매번 오른쪽 위, 오른쪽, 오른쪽 아래 3가지 중 하나의 위치로 이동해야 한다. 결과적으로 채굴자가 얻을 수 있는 금의 최대 크기를 출력하는 프로그램을 작성하라 Test Case 입력 2 3 4 1 3 3 2 2 1 4 1 0 6 4 7 4 4 1 3 1 5 2 2 4 1 5 0 2 3 0 6 1 2 출력 19 16 문제 풀이 m 개 간격으로 입력을 받은 list를 나누서 dp 배열에 저장한다. 그 뒤에 반복문으로 각 세로줄을 검토..

Develop/algorithm 2021.12.15

이것이 코딩테스트다 3 문자열 뒤집기

문제 링크 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net Test Case 문제 풀이 0에서1 1에서0 으로 전환되는 횟수를 카운트 한 뒤 그 횟수를 2로 나눈 값이 답이 된다. 문제를 알고 풀었다기보다 입력값을 여러 개를 넣다보니 나오는 값에서 답을 도출해낼 수 있었다. Source Code import sys input = sys.stdin.readline data = input().rstrip() ans = 1 for i in range..

Develop/algorithm 2021.12.08

이것이 코딩테스트다 2 곱하기 혹은 더하기

문제 링크 각 자리가 숫자 0부터 9로 이루어진 문자열 S가 주어졌을 때, 숫자 사이에 'X' 혹은 '+' 연산을 넣어 만들어질 수 있는 가장 큰 수를 구하시오. Test Case 입력 02984 출력 576 입력 567 출력 210 문제 풀이 0이나 1일때는 더하고 아니면 곱하기를 하면서 예외처리 해주면 끝 Source Code import sys input = sys.stdin.readline #ValueError: invalid literal for int() with base 10: '\n' data = input().rstrip() ans = int(data[0]) length = len(data) for i in range(1,length): if ans

Develop/algorithm 2021.12.08

프로그래머스 무지의 먹방 라이브 (Python)

문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42891 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr Test Case 문제 풀이 처음에 그냥 무지성으로 반복문 돌려가면서 음식 하나씩 먹다가 정답을 구하는식으로 풀었다가 효율성에서 걸렸다. 이코테 책에서 난이도 1이라고 하길래 쉽게 풀리나 했는데 역시나 틀렸다. 문제풀이는 우선순위큐를 사용해서 정렬 한 뒤 각 음식마다 남은 양을 하나씩 먹어치우는게 아니라 한 cycle씩 먹어서 최대한 빨리 답을 도출하는 것이다. 여기서 말하는 cycle 은 while문의 조건인데, 남은 음식들을 하나씩 다 먹는 것, 그러니까 첫번째 음식 부터 마지막 음식까지 먹게되는 시간을 의미하고 그 c..

Develop/algorithm 2021.11.24

이것이 코딩테스트다 1 모험가 길드

문제 링크 모험가 N명이 있다. 각 모험가를 대상으로 공포도를 측정했다. 공포도가 X인 모험가는 반드시 X명 이상으로 구성해야 여행을 떠날 수 있을 때, 최대 몇개의 모험가 그룹을 만들 수 있는지를 구하시오 N = 5, 공포도 = 2 3 1 2 2 일 때, 최대 그룹수는 2 그룹이다. Test Case 입력 5 2 3 1 2 2 출력 2 문제 풀이 알고리즘 재시작. 그리디부터 다시 시작해보련다. 한 세달밖에 안지났는데도 꽤 많이 까먹어서 당황스럽다. 스터디로 시작하는거니 이번에는 꼭 완주하기. 문제는 별다를건 없고, 조건문, 반복문 잘 써서 머리굴려서 풀면 된다. Source Code import sys input = sys.stdin.readline n = int(input()) data = list(..

Develop/algorithm 2021.11.22

만화로 배우는 리눅스 시스템 관리 2권

1화 정기적인 작업을 자동으로 처리하고 싶어(CRONTAB) crond : 지정한 시각에 명령어를 자동 실행하는 서비스 cronjob : crond로 실행하고 싶은 명령어와 실행시각 crontab : cronjob을 관리하는 명령어 sudo crontab -l(소문자 알파벳 L) -l : list, cronjob 목록 표시 옵션 -e : edit, cronjob 설정 편집(환경변수 EDITOR 로 지정한 에디터 실행) 30 10 * * * /scripts/example.sh 분 시 일 월 요일 / 파일명 cronjob 설정 후 맞는지 확인할때는 약 2분 뒤로 설정 cronjob은 crontab 명령어를 실행하는 사용자 권한으로 동작 crontab에 "MAILTO=메일주소" 추가하면 cronjob출력내용이..

Infra/linux 2021.10.01