목록전체 글 (39)
이것도 알아야 하네?
https://programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 징검다리는 숫자가 적혀있는 디딤돌로 구성되어있고, 사람이 디딤돌을 지나가면 적힌 숫자가 줄어든다고 할 때 징검다리를 건널 수 있는 최대 인원을 구하는 문제이다. 사람이 건널 때 징검다리에 있는 디딤돌을 딛고 건너야하되, 숫자가 0이 된 디딤돌이 있으면 점프를 해서 가야한다. 점프로 넘을 수 있는 디딤돌 개수 또한 주어진다. 풀이 (시도 1) 효율성을 보는 문제라서 안될 것은 알았지만 누구나 생각할 수 있는 naive한 접근 방식을 도전해보았다. 징검다리 길이 x 징검다리에 있..
풀이 이번 문제에서 고려했어야했던 포인트는 두 가지로, 첫 번째는 후보 조합을 구하는 것과 두 번째는 조합 중 중복을 제외해야하는 것이다. 이렇게 복잡하게 풀 문제는 아니었는데, 깔끔한 알고리즘을 떠오르지 않았다. 후보 조합을 찾는 것은 2 step으로 구성되어있다. '*'로 치환되어있는 banned_id 들이 될 수 있는 후보를 먼저 dict형식으로 찾아놓은 후, DFS를 통해서 생성할 수 있는 모든 조합을 찾는다. 첫 번째 step에서 중요한 점은 banned_id의 후보를 dict 형식으로 저장할 때 id를 저장하는 것이 아닌 user_id의 위치를 저장한다. 이는 이후 중복체크할 때 사용된다. 조합을 찾을 때는 이미 선택한 id는 중복되서 들어갈 수 없으니 이미 앞에서 다를 banned_id로 선..
■ Shell 개념 Shell 이란, 사용자와 Unix 계열 시스템 사이에서 인터페이스 역할을 한다. 사용자로부터 입력을 받고, 해당 입력을 기반으로 명령들을 처리하여 결과를 출력한다. ■ Shell Script 개념 Shell Script는 쉽게 이야기 하자면, Shell 환경에서 처리되는 명령어들의 모음이며, 작성된 순서대로 처리된다. Shell Script를 잘 이용한다면 방대한 양의 작업들을 자동화하여 효율적으로 처리할 수 있다. ■ Shell Script 작성 예시 > 표준 입력이 없는 Shell Script $ vi test.sh sh 확장자를 이용하여 테스트용 Shell Script를 생성한다. Shell Script를 작성 시에 가장 중요한 점은, 아래 문장을 파일 가장 첫 번째줄에 적어 ..