문제 정보는 아래 링크를 확인해주세요! [셔틀버스] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 문제 내용을 천천히 따라가면서 풀면된다. 기다리는 크루의 시간을 오름차순으로 정렬한다. 버스의 시간을 초기화해주고, 기다리는 크루가 있는지 확인 기다리는 크루가 있다면, 버스 도착시간과 수용인원을 확인 마지막 버스인지 확인 마지막 버스가 아니라면, 기다리는 크루가 있는지 없는지 확인 마지막 버스라면, 수용인원이 있는지 없는지 확인 결과를 "00:00" 포맷에 맞춰서 반환 [소스 코드] package algorithm.programmers; i..
프로그래머스
문제 정보는 아래 링크를 확인해주세요! [추석 트래픽] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 로그의 끝난 시간과 처리 속도를 기반으로 시작 시간을 구해준다. 끝난 시간을 기준으로 로그 데이터들을 정렬해준다. n번 째 로그 데이터의 끝난 시간보다 1초 뒤의 시간을 기준점으로 정하고, 로그 데이터들의 시작 시간을 기준으로 1초 뒤의 시간보다 더 빠르면 갯수를 추가한다.(끝난 시간으로 정렬이 되있으므로) 현재 갯수와 최댓값과 비교를 통해 최댓값을 갱신해준다. 코드 설명 문자열로 들어온 로그 데이터를 처리할 Process 클래스 변수 타..
문제 정보는 아래 링크를 확인해주세요! [영어 끝말잇기] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 이전 단어의 끝 요소와 현재 단어의 첫 요소를 비교 같으면서 단어가 리스트에 없다면, 리스트에 현재 단어를 추가 다르거나 현재 단어가 리스트에 포함되어있다면, 분기문 종료 인덱스가 단어 배열의 길이와 같다면, 분기문을 정상 종료된 동시에 탈락자가 없으므로 0 배열을 반환 분기문이 비정상 종료되었을 시(break을 통해서), 인덱스를 N으로 나눈 나머지+1은 현재 탈락자의 번호를 의미하고, 인덱스를 N으로 나눈 몫+1은 현재 탈락자의 차례..
문제 정보는 아래 링크를 확인해주세요! [점프와 순간이동] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 방법 N까지의 이동거리이므로 N에서 거꾸로 0이 될 때까지 비교해주는 Top-Down 방식으로 접근했다. N이 2로 나눠지면 나눠진 값을 N에 다시 셋팅하고, N이 2로 나눠지지 않는다면, 결과값+1을 하면서 N이 0이 될 때까지 분기문을 돌리는 방법이다. [소스 코드] package algorithm.programmers; import java.util.*; /* * 2018 summer/winter conding * 점프와 순간 이동 *..
문제 정보는 아래 링크를 확인해주세요! [숫자 게임] 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..