[출처] : https://programmers.co.kr/ 문제 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. ..
문제 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요. 제..
문제 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력 예 설명 접근 대표적인 스택 문제이다 스택을 하나만들고 반복문을 이용해서 주어진 문자열을 하나씩 뽑는다 만약 '(' 이거라면 스택에..
문제 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 예를 들면, | 1 | 2 | 3 | 5 | | 5 | 6 | 7 | 8 | | 4 | 3 | 2 | 1 | 로 땅이 주어졌다면, 1행에서 네번째 칸 (5)를 밟았으면, 2행의 네번째 칸 (8)은 밟을 수 없습니다. 마지막 행까지 모두 내려왔을 때, 얻을 수 있는 점수의 최대값을 return하는 solution 함수를 완성해 주세요. 위 예의 경우, 1행의 네번째 칸 (5)..
SSH란? Secure Shell Protocol의 약자로 네트워크 프로토콜중 하나로, 네트워크 상의 다른 컴퓨터로 접속할때(또는 통신할때) 안전하게 통신을 할수 있는 기능을 제공한다. 사용 이유 이와 비슷한 프로토콜로 FTP(파일 전송 프로토콜),telnet등이 있는데 왜 ssh를 사용할까? 답은 보안때문이다. telnet,FTP같은 프로토콜들의 문제점은 데이터를 암호화 하지 않고 평문상대로 보내기 때문에 중간에 데이터를 갈취하게 된다면 그대로 사용할수 있게 되기 떄문에 거의 사용하지 않는다. 이러한 이유로 윈도우에서는 아에 telnet기능 자체를 기본적으로 꺼둔다. 아래의 이미지를 보면 윈도우에서는 기본적으로 텔넷기능이 꺼져있는것을 볼수 있다. 사용 예 데이터 전송 ⇒ github에 소스 코드를 pu..
NMAP 이란? ⇒ 고든 라이온이 작성한 보안 스캐너로 컴퓨터와 서비스를 찾을 때 쓰이며 네트워크 지도를 만든다. ⇒ 다른 원격 컴퓨터들의 자세한 정보를 알아낼수가 있다. 사용 ⇒ Linux, windows, solaris,mac OS X 를 포함한 BSD, AmigaOS에서 실행됨. ⇒ 이중 리눅스가 가장 자주 사용하는 플랫폼이다. 기능 호스트 탐지- 네트워크상 컴퓨터들을 확인한다. ex) ping응답이나 특정 포트가 열린 컴퓨터들을 나열함. 포트 스캔 - 하나 이상의 대상 컴퓨터들의 열린 포트들을 나열한다. 버전 탐지 - 응용 프로그램의 이름과 버전 번호를 확인하기 위해 원격 컴퓨터의 네트워크 서비스에 주의를 기울인다. 운영체제 탐지 - 원격으로 운영체제와 네트워크 장치의 하드웨어 특성을 확인한다. ..