코테/프로그래머스

📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   💡  풀이 방식• 브루트포스 (구현)1. lock의 범위를 확장하고, 확장한 배열에  lock에 대한 정보를 입력한다.   - Why? 키의 일부가 자물쇠 영역을 벗어나더라도, 키로 자물쇠를 열 수 있으면 정답이 되기 때문.  - 그러므로 lock과 key가 겹칠 수 있는 모든 경우를 계산할 수 있을만큼 확장해야 한다.  - 🔔 key의 크기와 lock의 크기가 항상 같진 않다!   - 열쇠 이동거리 = 열쇠와 자물쇠가 처음 겹치는 부분 + 자물쇠의 크기     ⇒ 확장한 배열 : 자물쇠 크기..
📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   💡  풀이 방식• 그리디1. 커서를 상하로 이동하며 알파벳을 변경할 수 있는 최솟값을 구한다.answer += Math.min(ch - 'A', 'Z' - ch + 1);  2. 연속된 알파벳 'A'가 끝나는 지점을 찾는다.int idx = i+1; while(idx   3. 좌우 이동 최소 횟수를 구한다.- (i*2) + len - idx ⇒ 오른쪽으로 갔다가 왼쪽으로 움직여 바꾸고 시작점으로 돌아간 후, 왼쪽으로 움직여 마지막 위치로 이동해서 바꾸는 경우   ㄴ (i*2)..
📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  💡  풀이 방식• 재귀함수 필요 자료구조- 사람 객체 (현재 사람, 부모 객체, 수익) + 객체 내 수익 계산하는 재귀함수- 자기 자신을 key로, 부모 객체를 value로 갖는 Map  1. 자기 자신을 key로, 부모 객체를 value로 갖는 Map을 만든다.2. 해당 map에 각 판매원의 이름과 부모 객체의 정보(현재 사람, null, 0)를 저장한다.3. 각 판매원을 조직에 참여시킨 사람 이름 배열(referral)을 돌며 부모를 등록한다. 4. 판매 집계 데이터를 돌며 수익을 계산한다.5..
📖 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   💡  풀이 방식• 다익스트라필요 자료구조- (도착지, 거리) 정보 저장용 인접 리스트- a,b,s에서 시작해서 각 점들까지의 최단 거리를 나타내는 배열- 다익스트라용 우선순위 큐 . a,b,s에서 시작해서 각 점들까지의 최단 거리를 나타내는 배열을 최댓값 (200 * 10만 +1)으로 설정한다.. a,b,s에서 시작해서 각 점들까지의 최단 거리를 구하는 다익스트라를 총 3번 실행한다.  - 현재 번호와 연결된 점들을 지나면서, 현재 연결된 점과 다음 연결된 점까지의 거리를 더한 값이 다음 연결된 ..
📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   💡  풀이 방식• BFS필요 자료구조- 시추관 위치(열) 별 석유량 저장용 배열- BFS에서 석유 덩어리의 열 위치 저장용 Set (중복 제거 위해)  격자를 돌면서 방문하지 않은 1인 칸의 위치에서 BFS를 수행한다.  - 석유 덩어리의 열 위치 저장용 Set을 활용한다.  - 방문하지 않은 1인 칸을 방문하며, 해당 열의 위치를 Set에 저장하고, 석유 덩어리 개수를 구한다.  - Set에 저장된 열 위치들에 현재 위치에서 구한 석유량을 누적해 더한다.   💥 유의사항land 배열을 그대로..
📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    💡  풀이 방식• 우선순위 큐필요 자료구조- 도착 시간을 "분"으로 변환한 값을 저장한 우선순위 큐- 현재 시간, 마지막 시간, 셔틀버스 탑승 인원 시간 저장용 변수  1. 크루들의 도착 시간을 "분"으로 변환해 우선순위 큐에 저장한다.2. 현재 시간, 마지막 시간, 셔틀버스 탑승 인원 저장용 변수를 사용한다.  - 현재 시간 : 오전 9시로 시작하고, 셔틀버스가 지나갈 때마다 t시간만큼 더한다.3. 우선순위 큐에서 크루들의 도착 정보를 하나씩 확인하며 계산한다.  - 가장 빨리 도착한 크루부..
📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   💡  풀이 방식• 스택필요 자료구조- 이전 노드 위치 기억용 배열 preArr- 다음 노드 위치 기억용 배열 nextArr- 삭제한 위치의 노드 정보 저장용 스택 ⭐ . preArr, nextArr 배열을 사용한다.  - 각 인덱스에 해당하는 위치의 이전 노드 위치, 다음 노드 위치를 기억한다.  - 맨 마지막 노드의 다음 노드는 -1로 설정해둔다. . 크기 n만큼 'O' 문자열을 만든다.  . 각 명령에 맞는 작업을 수행한다.1. 위로 이동하는 경우, 값만큼 현재 위치 k를 위로 이동한다.in..
📖 문제 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr    💡  풀이 방식• Map필요 자료구조- 유저 ID와 그에 대한 임의의 인덱스 저장하는 Map- 유저 ID와 그 ID를 신고한 사람의 ID 집합을 가진 Map  1.id_list를 돌며 각 ID와 임의의 인덱스를 저장하고, 각 ID를 신고한 ID 목록을 중복 없이 저장하기 위해 Set을 초기화한다. for(int i = 0 ; i ()); idxMap.put(name, i);} ..
📖 문제 https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr     💡  풀이 방식• 정적1. 구간 별 그래프의 높이를 저장한다.2. ranges 배열을 돌면서 해당 구간의 x좌표가 유효한지 판별한다.3. 2에서 x좌표가 유효하다면, 구간 별 면적을 산출해 계산한다.구간 별 면적 구하는 공식: (윗변+아랫변) * 높이 / 2  🔺 코드12345678910111213141516171819202122232425262728293031323334353..
imname1am
'코테/프로그래머스' 카테고리의 글 목록