목록코딩 (53)
Love Every Moment
출처 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를..
출처 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 예제 472 385 2360 3776 1416 181720 풀이 (1) A = int(input()) B = int(input()) array = [0] * 3 i = 0 while i < 3: array[i] = A * (B % 10) print(array[i]) B = int(B / 10) i += 1 result = 0 i = 2 whil..
출처 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 예제 # 입력 7 3 # 출력 10 4 21 2 1 풀이 A, B = input().split() A = int(A) B = int(B) print(A+B) print(A-B) print(A*B) print(int(A/B)) print(A%B) 노트 input() 을 단독으로만 사용할 줄 알았는데 split() 으로 입력 받은 것을 나누어 저장이 가능하다는 것을 배웠다 원래 print(..
페이스북에서 개발한 테스팅 프레임워크 "Jest"는 일반적인 테스팅 라이브러리와 다르게 Jest 라이브러리 하나만 설치하면 Test Runner와 Test Mathcher 그리고 Test Mock 프레임워크까지 제공한다는 강력한 이점을 가진다. 1. JEST 설치 (1) package.json 생성 $npm init - 초기화 커맨드로 package.json 파일 만들기 (2) Jest 설치 $ npm install --save-dev jest - Jest 라이브러리를 개발 의존성으로 설치 (3) package.json 파일 수정 "scripts": { "test": "jest --watch" } - test 스크립트를 jest 로 수정해준다 - --watch 옵션은 파일을 수정하고 저장하면 자동으로 파..
1. PATH PATH 는 리눅스 환경변수의 일종으로 실행 파일의 경로이다. printenv 명령어를 통해 환경변수 목록을 확인할 수 있다. 환경변수 PATH 가 어떻게 설정되어 있는지 확인하는 명령어는 echo $PATH 이다. 각각의 경로는 : 로 구분되며 총 다섯 개의 경로가 있는 것을 확인할 수 있다. 명령 탐색 경로는 왼쪽에서부터 우선 순위를 가진다. $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 2. 차이 (1) usr/local/bin 스스로 설치한 명령어를 사용할 수 있도록 하는 장소이다. 보통 게임이나 잡다한 유틸들이 들어있다. 리눅스 저장소에 있는것 이외의 것을 설치할 때나 자작 명령어를 보관해야 할 때 유용하다. /usr/bin..
1. 프로세스(Process) (1) 프로세스란? 현재 실행 중인 프로그램 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당 받아 실행중인 것 운영체제의 제어 아래 실행(Running), 대기(Waiting), 중단(Stopped), 좀비(Zombie) 중 하나의 상태에 있게 된다. 각각의 프로세스가 가지는 고유의 번호를 PID(Process Idendification Number)라고 한다. 예를 들어 데비안 리눅스가 부팅될 때에는 최상위 프로세스인 systemd(PID: 1)이 생성되며 모든 프로세스들은 이 1번 프로세스의 자식 프로세스가 된다. 부모 프로세스의 PID 를 줄여서 PPID 라고 한다. ps 명령어를 통해 현재 실행중인 프로세스 목록을 확인할 수 있다. (2) 쓰레드(..
0. 개요 유닉스 이전의 운영 체제에서는 프로그래머가 직접 입·출력장치를 설정하고 연결했어야 했다. 하지만 유닉스에서는 데이터 스트림(Data Stream) 이라는 개념을 이용하여 장치를 추상화함으로써 open, read, write 하면 자동으로 입·출력 장치가 연결되도록 하였다. 스트림(Stream)은 컴퓨터에 연결되는 여러 장치들을 통일된 방식으로 다루기 위한 가상적인 개념이다. 이를 통해 프로그래머는 데이터가 어디서 나와 어디로 가는지 신경쓰지 않고 자유롭게 이용할 수 있다. 표준 스트림(Standard Stream) 은 프로세스가 생성되면 기본적으로 생기는 입·출력을 위한 채널이다. 여기에는 표준 입력(Stdin), 표준 출력(Stdout), 표준 에러(Stderr) 가 있으며 터미널을 열면 쉘..
1. leaks 명령어 (1) 파일 실행 중에 검사하기 main 문 안에 while 문을 사용하는 등의방법을 써서 프로그램이 종료되지 않도록 하고 컴파일 후에 ./a.out 으로 파일을 실행시키고 leaks a.out ※ 해당 방법으로 메모리 누수가 뜨지 않는 경우가 있어서 (2)번 방법을 추천 (2) 프로그램 내부에 leaks 명령어 삽입 main 문 안에 직접 삽입했기 때문에 프로그램이 종료되기 전에 검사 가능 system 명령어를 통해 쉘 명령어를 main 문 안에서도 사용할 수 있다. system("leaks a.out > leaks_result_temp; cat leaks_result_temp | grep leaked && rm -rf leaks_result_temp"); #include #in..