프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제왼손(4), 오른손(6)위에 두고 타이핑을 시작- 이동하지 않고, 제자리에서 다시 누르는 경우: 가중치 1- 상하좌우 인접한 숫자를 누르는 경우: 가중치 2- 대각선으로 인접한 숫자를 누르는 경우: 가중치 3- 같지 않고 인접하지 않은 숫자를 누를 때는 위 규칙에 따라 가중치 합이 최소가 되는 경로를 따른다. 1 ≤ numbers의 길이 ≤ 100,000- numbers는 아라비아 숫자로만 이루어진 문자열 풀이 과정풀이 시간: 2시간 이상 접근하다 포기하고 접근방법 참고알고리즘: DP + BFS1. 초기 설정-..
코딩테스트
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제정수로 이루어진 배열 numbers모든 원소에 대해 뒷 큰수들을 차례대로 담은 배열을 return(단, 뒷 큰수가 존재하지 않는 원소는 -1을 담는다)- 4 ≤ numbers의 길이 ≤ 1,000,000 - 1 ≤ numbers[i] ≤ 1,000,000 풀이 과정풀이 시간: 25분알고리즘: 자료구조(스택) or 우선순위큐(힙)numbers의 길이가 최대 1,000,000이기 때문에 최악의 경우 O(NlogN)으로 풀이해야 한다. 1. stack을 이용해 O(N)으로 풀이할 경우맨 뒤의 수는 항상 뒷큰수를..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제1억 x 1억 크기의 행렬이 주어진다.s보다 크거나 같고 e보다 작거나 같은 수 중에서 억억단에서 가장 많이 등장한 수를 답해야 한다.만약 가장 많이 등장한 수가 여러 개라면 그 중 가장 작은 수를 답해야 한다. - 1 ≤ e ≤ 5,000,000- 1 ≤ starts의 길이 ≤ min {e,100,000}- 1 ≤ starts의 원소 ≤ e- starts에는 중복되는 원소가 존재하지 않는다. 풀이 과정풀이 시간: 2시간 이상알고리즘: 수학, 누적합이 문제의 경우, e가 최대 5,000,000이기 때문에 시간복..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제지도는 1 x 1크기의 사각형들로 이루어진 직사각형 격자 형태이며, 격자의 각 칸에는 'X' 또는 1에서 9 사이의 자연수가 적혀있다. 지도의 'X'는 바다를 나타내며, 숫자는 무인도를 나타낸다. - 상, 하, 좌, 우로 연결되는 땅들은 하나의 무인도를 이룬다.- 지도의 각 칸에 적힌 숫자는 식량을 나타내는데, 상, 하, 좌, 우로 연결되는 칸에 적힌 숫자를 모두 합한 값은 해당 무인도에서 최대 며칠동안 머물 수 있는지를 나타낸다.지도를 나타내는 문자열 배열 maps가 매개변수로 주어질 때, 각 섬에서 최대 며..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제n x m 격자 미로 -> 미로의 (x, y)에서 출발해 (r, c)로 이동해서 탈출해야 한다. 1. 격자의 바깥으로는 나갈 수 없다. 2. (x, y)에서 (r, c)까지 이동하는 거리가 총 k여야 한다. 3. 이때, (x, y)와 (r, c)격자를 포함해, 같은 격자를 두 번 이상 방문해도 된다. 4. 미로에서 탈출한 경로를 문자열로 나타냈을 때, 문자열이 사전 순으로 가장 빠른 경로로 탈출해야 한다. - 2 ≤ n (= 미로의 세로 길이) ≤ 50 - 2 ≤ m (= 미로의 가로 길이) ≤ 50 - 1 ≤..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제최소한의 객실 만을 사용해 예약 손님을 받는다.한 번 사용한 객실은 '퇴실 시간'을 기준으로 10분 후 다음 손님이 사용 가능-> 코니에게 필요한 최소 객실의 수를 반환 1 ≤ book_time의 길이 ≤ 1,000- book_time[i]는 ["HH:MM", "HH:MM"]의 형태로 [대실 시작 시각, 대실 종료 시각]- "00:00"부터 "23:59"까지로 주어진다. 풀이과정풀이 시간: 20분알고리즘: 그리디1. 시작 시각을 기준으로 오름차순 정렬2. 시각을 하나씩 확인하며 객실 배정- 힙(종료시각)이 비어..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제각 칸은 '통로' or '벽'('벽'으로는 지나갈 수 없고, '통로'로만 이동 가능)- '문': 미로를 빠져나가는 문- '레버': '통로'들 중 한 칸1. 출발점에서 '레버'가 있는 칸으로 이동2. '문'이 있는 칸으로 이동- 레버를 당기지 않았더라도 출구가 있는 칸을 지나갈 수 있다.- 5 ≤ maps의 길이 ≤ 100 - 5 ≤ maps[i]의 길이 ≤ 100- maps[i]는 다음 5개의 문자들로만 이루어져 있다. - S : 시작 지점 - E : 출구 - L : 레버 - O : ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제이진 트리로 만들고 싶은 수가 이진 트리로 표현할 수 있다면 1, 없다면 0을 1차원 정수 배열에 담아 return - 1 ≤ numbers의 길이 ≤ 10,000- 1 ≤ numbers의 원소 ≤ 10^15 풀이 과정풀이 시간: 1시간 30분알고리즘: 구현, 트리1. 이진수로 변환2. 포화 이진트리 만들기3. 만들어진 포화 이진트리가 이진트리로 표현 가능한지 확인 시간 복잡도: O(NlogM)- N: 입력 배열 numbers의 길이- M: 입력 배열에서 가장 큰 숫자 코드import mathdef solut..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제- 선공이 O, 후공이 X를 번갈아가면서 빈칸에 표시하는 게임 - 가로, 세로, 대각선으로 3개가 같은 표시가 만들어지면 같은 표시를 만든 사람이 승리 - 누군가 게임을 승리하거나, 9칸이 모두 차서 더 이상 표시를 할 수 없는 경우 무승부로 게임 종료 - board의 길이 = board[i]의 길이 = 3 - board의 원소는 O, X, .(빈칸)으로만 이루어져 있다. 풀이 과정풀이 시간: 40분알고리즘: 구현처음에 문제를 봤을 때는 '실수'에 포커스를 두고, 수 제한도 3으로 매우 작으니 '선공..