문제 정보는 아래 링크를 확인해주세요! [숫자 게임] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 A의 대진표가 공개되어있다. B팀의 요소값이 A팀의 요소값보다 큰 값을 대진표로 정한다. B팀이 이긴 횟수를 반환하는게 최댓값이다. 이를 위해서는 A팀과 B팀을 차례로 정렬하고, B팀의 요소가 A팀의 요소를 이기면 결과값+1을 하고, 이기지 못하는 요소일 때는 B팀의 다음 요소를 비교해준다. 모든 요소에대한 비교를 마치면 결과값을 반환한다. [소스 코드] package algorithm.programmers; import java.util...
코딩테스트
문제 정보는 아래 링크를 확인해주세요! [기지국 설치] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 첫 번째 위치부터 while문을 돌면서 설치된 기지국 범위 안에 있는지를 검사 설치된 기지국 범위 밖에 있다면, 현재 위치에서 기지국을 설치했을 때 전파가 가장 멀리 퍼질 수 있는 값인 2*w로 설정하고, 현재 위치를 2*w+1로 설정한 후 결과값+1 설치된 기지국 범위 안에 있다면, 현재 위치를 설치된 기지국 범위+1로 설정 현재 위치가 N에 도달할 때까지 반복 [소스 코드] package algorithm.programmers; /* ..
문제 정보는 아래 링크를 확인해주세요! [소수 만들기] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 만들 수 있는 세 자리 숫자를 만들고 리스트에 넣어준다. 해당 숫자가 소수인지 확인하기 위한 최대 비교값은 해당 숫자의 절댓값까지이다. 따라서 2부터 sqrt(해당 숫자)를 분기문을 돌며 0으로 나누어 떨어지는지 확인하며 소수 검사를 한다. [소스 코드] package algorithm.programmers; import java.util.*; /* * 2018 summer/winter conding * 소수 만들기 * */ public ..
문제 정보는 아래 링크를 확인해주세요! [스티커 모으기(2)] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 첫 번째 생각해야할 것은 스티커를 선택하는 방법은 첫 번째를 선택하느냐, 선택하지 않느냐 이 두가지로 나뉜다. 두 번째는 현재 스티커와 현재-2 스티커를 선택했을 때의 결과와 인접 스티커를 선택했을 때의 결과중 최댓값을 구해준다. 이 방식은 DP 방식으로 푸는 것이 유리하므로, 점화식을 세우면 아래와 같다. DP[N] = MAX(DP[N-1], STICKER[N] +DP[N-2]); [소스 코드] package algorithm.p..
문제 정보는 아래 링크를 확인해주세요! [배달] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 인접 마을에 대한 양방향 정보를 리스트에 담는다 DFS 탐색을 통해 인접 마을과의 거리를 구하면서 K값과 비교한다 무한루프에 빠지지 않도록 visited 배열을 통해 인접 방문 마을의 최솟값으로 셋팅한다 [소스코드] package algorithm.programmers; import java.util.*; /* * 2018 summer/winter conding * 배달 * */ public class Pro12978 { private stati..
문제 정보는 아래 링크를 확인해주세요! [쿠키 구입] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 쿠키 바구니를 나눠주는 방법은 쿠키 배열의 연속된 값들을 왼쪽/오른쪽으로 구간을 나눠서 비교하는 것과 같다 쿠키 배열의 왼쪽 첫 번째 요소부터 마지막-1번째 요소까지 dfs 탐색 DFS 탐색 시작 DFS 탐색은 첫 번째 요소와 두 번째 요소의 비교로 시작하면서 파라미터로 왼쪽/오른쪽 합계와 각각의 인덱스를 담는다 왼쪽 요소의 인덱스를 하나씩 줄여가며 구간합을 구하는 DFS 오른쪽 요소의 인덱스를 하나씩 늘려가며 구간합을 구하는 DFS 왼쪽 ..
문제 정보는 아래 링크를 확인해주세요! [지형 이동] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 - 현재 지형과의 차이가 height 이하인 연결된 지형들을 구역으로 그룹화 - 각 칸의 상,하,좌,우로 연결이 안된 지형들과의 차이를 리스트에 담는다. - 지형들간의 차이가 담겨있는 리스트를 지형 차이-현재-다음 구역 순으로 정렬 - 지형 차이가 최소인 값부터 두 지형의 구역을 하나로 만들어준다. - 해당 최소 값은 결과 값에 추가한다. - MST에 대한 지식이 있다면, 문제 접근이 빠를 것이다. [소스코드] import java.util..
문제 정보는 아래 링크 확인 부탁드립니다! [불량 사용자] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 - 불량 사용자 배열을 정규 표현식으로 변환 - DFS를 순환 - 문제 정보는 아래 링크 확인 부탁드립니다! [불량 사용자] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 - 불량 사용자 배열을 정규 표현식으로 변환 - DFS를 순환(불량 사용자 인덱스, 일치하는 응모자..