본문 바로가기
반응형

Algorithm45

백준 15663 N과 M(9) - C++ 전체적인 흐름 주어진 N에 대해서 입력 받은 배열을 오름차순으로 정렬한다.(사전 순으로 증가하는 순서로 출력하기 위해) N개 있는 배열에서 M개를 뽑아 만들 수 있는 경우의 수를 모두 구한다. 여기서 이전에 사용한 수는 사용하면 안되며 똑같은 수열을 만드는 경우는 피해야 한다. 예제 만약 1 1 3 4 5 라는 입력이 있다고 했을 때 이번 문제에서 요구하는 출력은 1 1 1 3 1 4 1 5 3 1 3 4 3 5 4 1 4 3 4 5 5 1 5 3 5 4 이다. 배열 인덱스 0과 1에서 1 1이 존재하는데 경우의 수를 구하다 보면 1 1이 나오고 또 1 1이 나오는데 두 개는 같은 의미이므로 같은 수열이 나온다면 하나만 출력해주면 된다. 풀이 그래서 이것을 똑같은 수열이 나오는지 어떻게 판별할 것인가를 .. 2020. 7. 14.
Level2. 프로그래머스 다리를 지나는 트럭 - JavaScript 접근 이번 문제는 신경써야할 부분이 많았고 처음에 읽을 때 바로 이해가 되지 않았다. 결론적으로 다리가 수용할 수 있는 무게와 트럭이 어디에 위치해 있는지 등을 신경 써주어야 한다. 그래야 다음 트럭이 언제 다리에 진입할 수 있는지 알 수 있다. 대략적인 흐름은 아래와 같다. 다리에 있는 트럭을 한 칸씩 앞으로 이동한다. 현재 다리에 있는 트럭들의 무게와 대기 중인 트럭 무게의 합이 수용 가능한 다리의 무게 보다 작거나 같다면 대기 중인 트럭 진입 아니라면 진입 안함 function solution(bridge_length, weight, truck_weights) { var answer = 0, truckOnTheBridge = {},finishedTruck=0; let idx = 0, curWeigh.. 2020. 7. 11.
Level2. 프로그래머스 [3차] 파일명 정렬 - JavaScript 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표시되기 때문이다. 버전 번호 외에도 숫자가 포함된 파일 목록은 여러 면에서 관리하기 불편했다. 예컨대 파일 목록이 [img12.png, img10.png, img2.png, img1.png]일 경우, 일반적인 정렬은 [img1.png, img10.png, img12.png, img2.png] 순이 되지만, 숫자 순으로 정렬된 [img1.png, im.. 2020. 7. 10.
Level2. 프로그래머스 폰켓몬 - JavaScript 폰켓몬 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 .. 2020. 7. 9.