본문 바로가기

알고리즘25

야근 지수(프로그래머스, Lv 3, Java) 1. 야근 지수 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 설명: 기수 값이 1이라도 높으면 무조건 손해, 따라서 배열 값들을 고르게 만들어주는 작업이 필요하다. (큰 순서 기준) 2번째 인덱스부터 자신보다 앞에 있는 인덱스들의 값들을 자신과 같아지게 한다. 이때 값을 차이만큼 한꺼번에 빼는 것이 아니라 1씩 차례대로 맨 앞 인덱스부터 빼주어야 한다. 맨 앞 인덱스부터 빼주는 이유는 while문을 빠져나가는 조건을 기준 다음 값과.. 2020. 3. 21.
보행자 천국(프로그래머스, Lv 3, Java) 1. 보행자 천국 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1832 코딩테스트 연습 - 보행자 천국 | 프로그래머스 3 3 [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 6 3 6 [[0, 2, 0, 0, 0, 2], [0, 0, 2, 0, 1, 0], [1, 0, 0, 2, 2, 0]] 2 programmers.co.kr 알고리즘 설명: 왼쪽에서 오른쪽으로 가는 경우와 아래에서 위로 가는 경우, 이 두 가지 경우를 생각하고 풀면 된다. 오른쪽으로 가는 경우의 수를 넣을 배열과 위로 가는 경우의 수를 넣을 배열 선언 0,0은 cityMap 값이 0이기 때문에 이전 값들을 가져와서 더 해주어야 하지만 이전 인덱스는 마이너스인 상황.. 2020. 3. 10.
저울(프로그래머스, LV 3, Java) 1. 저울 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42886 코딩테스트 연습 - 저울 | 프로그래머스 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 합니다. 이 저울의 양팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같습니다. 또한, 저울의 한쪽에는 저울추들만 놓을 수 있고, 다른 쪽에는 무게를 측정하려는 물건만 올려놓을 수 있습니다. 저울추가 담긴 배열 weight가 매개변수로 주어질 때, 이 추들로 측정할 수 없는 양의 정수 무게 중 최솟값을 return 하도록 solution 함수를 작성해주세요. 예를 들어, 무게가 각 programmers.co.kr 알고리즘 설명: 오름차순으로 정렬 후 인덱스를 차례대로.. 2020. 3. 8.
조이스틱(프로그래머스, Lv2, Java) 1. 조이스틱 문제링크: https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 | 프로그래머스 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 예를 들어 아래의 방법으로 JAZ를 만들 수 있습니다. - 첫 번째 위 programmers.co.kr 알고리즘 설명: 탐욕법으로 당장 가장 가까운 A가.. 2020. 3. 1.
입국심사(프로그래머스, Lv 3, Java) 1. 입국심사 문제링크: https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 | 프로그래머스 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사 programmers.co.kr 알고리즘 설명: 처리시간이 다른 심사원들의 최소 .. 2020. 2. 12.
방문 길이 (프로그래머스, Lv 3, 스킬체크, Java) 1. 방문 길이 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 | 프로그래머스 programmers.co.kr 알고리즘 설명: 방문 체크를 할 수 있는 자료구조가 핵심 배열 인덱스를 좌표로 활용하기 위해 0,0을 5,5(처음 위치)로 생각 한 좌표에 연결되어 있는 4개 좌표 사이 길을 지나갔는지 여부를 체크하기 위해 Visit 클래스를 만듦 Visit 멤버 변수로 2차원 배열 link를 만들어 좌표 사이 길을 지나갔는지 체크 Visit 클래스를 2차원 배열로 만들어 현재 좌표를 관리하고 Visit 맴버변수 link를 통해 지나갔는 지 여부를 관리 입력된 커맨드를 switch를 사용하여 현재 위치와 지나감 여.. 2020. 1. 7.