본문 바로가기

IT warehouse

(138)
[Java] Progrmmers 코딩테스트 연습 :가장 큰 수 (Array,배열) ---문제--- 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. ---코드--- import java..
[Linux] Linux 폴더 루트 권한 주기 : chmod 가끔식, 루트가 아닌 계정으로 접속하였을 때, 폴더의 접근 권한이 막혀 불편한 경우가 있다. 이럴 때, CLI 터미널 창을 들어가 다음과 같이 입력해주면 된다. sudo chmod 777 -R 폴더명 만약, 그 폴더 안에 위치하고 있다면 sudo chmod 777 -R . 위처럼 . 으로 현재 위치의 디렉터리를 상대 경로로 표시해주면 된다.
[Protocol] MQTT Protocol 이란 ?, Python 으로 MQTT 실행하기 MQTT 는 'MQ Telemetry Transport' 를 뜻하는데, 매우 간단하고 경량의 메세지 프로토콜이라 제한적인 자원 환경과 적은 bandwidth, 불안한 네트워크 환경에서 특히 적합하다. 따라서, M2M (machine to machine) 환경이나 IoT(internet of Things, 사물인터넷) 환경에서 자주 사용한다. MQTT 는 클라이언트와 서버에서 publish/subscribe 개념을 가지는 메세지 프로로콜이다. 이 프로토콜은 TCP/IP 환경에서 작동한다. 동작 원리는 1) client 에서 MQTT server 에 connect requeset 를 보내고, 2) server 로 부터 일정 시간 안에 connect ACK 를 받으면 MQTT connection 이 완료가 되..
[Java] SW Expert Academy 1767번 문제: 프로세서 연결하기 (완전탐색, 백트랙킹) --- 문제 --- [SW Test 샘플문제] 프로세서 연결하기 --- 코드 --- 되추적 ( 백트래킹, Backtracking ) 과 완전 탐색 (DFS) 를 이용해서 문제를 풀었습니다. 1. 가에 있는 코어 빼고, 모든 코어의 좌표 목록을 저장하고 2. 코어 한개씩, 상 하 좌 우 중 라인이 가능한 곳을 차례로 그리고 다음 코어로 탐색을 넘기고 3. 현재 코어에서 라인을 아예 그리지 않는 상황도 다음 코어로 넘깁니다. 4. 이런 식으로 그렸다가 지웠다가 하면서 완전 탐색을 돌려서 최종 값을 저장하고 출력하면 됩니다. import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.LinkedList; impor..
[Python] OS, CPU 갯수 등 컴퓨터 정보 불러오기 python 으로 프로그램을 짜다 보면, 현재 host 기기의 정보가 필요할 때가 있다. 이럴 때 쓰면 좋은 함수들을 모아보았다. import os , platform , socket print(os.cpu_count()) # cpu 갯수 : 8 print(platform.system()) # os 이름 : Linux print(platform.processor()) # processor 종류 : x86_64 print(platform.version()) # 44~18.04.2-Ubuntu SMP Thu Apr 23 14:27:18 UTC 2020 print(socket.gethostname()) # host 이름 : 대략 이런 종류의 함수들이 있다.
[Linux] Linux 에서 apt 사용 시 에러 : Could not get lock /var/lib/dpkg/lock-frontend - open 리눅스 18.04 환경에서 docker 를 설치하다가 생긴 에러다. E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 이 에러를 해결하는 방법은 위에서 문제가 생긴 경로를 지워 버리는 것이다. $ sudo rm /var/lib/apt/lists/lock 로 위에 생긴 에러에서 나온 경로를 지워버리면 원하는 apt 명령이 잘 돌아가는 걸 볼 수 있다.
[Java] Progrmmers 코딩테스트 연습 :단속카메라 (Greedy) ---문제---- 문제 설명 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다. 고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. 제한사항 차량의 대수는 1대 이상 10,000대 이하입니다. routes에는 차량의 이동 경로가 포함되어 있으며 routes[i][0]에는 i번째 차량이 고속도로에 진입한 지점, routes[i][1]에는 i번째 차량이 고속도로에서 나간 지점이 적혀 있습니다. 차량의 진입/진출 지점에 카메라가 설치되어 있어도 카메라를 만난것으로 간주합니다. 차량..
[Java] Progrmmers 코딩테스트 연습 : K번째수 (정렬) ---문제--- 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100..

728x90
반응형