코딩테스트
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 1) 2중 반복문 2) Stack (출처: 제육's 휘발성 코딩) 코드 1) 2중 반복문 class Solution { public int[] solution(int[] numbers) { int[] answer = {}; return findBigNumberThanBack(numbers); } public int[] findBigNumberThanBack(int[] numbers) { int[] output = new int[numbers.length]; for (int i=0; i
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 1) 완전탐색을 사용해 조합될 수 있는 모든 모음의 경우의 수를 찾은 후 HashSet에 저장한다. 2) 저장된 HashSet을 오름차순으로 정렬한 후, word가 몇 번째 순서인지 리턴한다. 코드 import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; class Solution { public Set set = new HashSet(); public int solution(String word..
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 1) 완전탐색을 통해 값을 구해보면 피보나치 수열과 같은 결과임을 알 수 있음 코드 import java.util.Map; import java.util.HashMap; import java.math.BigDecimal; class Solution { public long solution(int n) { return fibonacciNumbers(n); } /** * 피보나치 수열 * n번째의 피나보치 수열을 계산한다. * @param n 피보나치 수열을 구할 자연수 * @return long ..
문제 접근방법 1) 완전탐색 코드 접근방법 : 1) class Solution { public int result=-1; public int solution(int x, int y, int n) { changeNumber(x,y,n,0); return result; } /** * 숫자 변환하기 * 완전탐색을 이용해 x가 y가 되는 모든 방법을 탐색한다 * @param x y가 되기 위해 연산되는 자연수 * @param y x를 연산한 결과와 일치되어야 하는 자연수 * @param n x에 덧셈 연산시 사용할 자연수 * @param loop 연산 횟수 */ public void changeNumber(int x, int y, int n, int loop) { if(x>y) return; else if(x=..
문제 접근방법 1) 덧칠되는구역 = 덧칠이 필요한 구역 + 롤러의 길이 - 1 코드 접근방법 : 1) class Solution { public int solution(int n, int m, int[] section) { return this.doOver(n, m, section); } public int doOver(int n, int m, int[] section) { /* * @Desc * 1.덧칠이 필요한 구역(section.element)이 마지막으로 덧칠된 구역(doOver)보다 크면 덧칠이 되지 않은 것으로 간주 * 2.sIdx+롤러의 길이(m)보다 작은 구역은 한 번에 칠해지는 것으로 간주 * 3.덧칠이 필요한 구역을 덧칠할때마다 doOver의 값을 초기화 * 4.마지막으로 덧칠된 구역 ..
문제 접근방법 1) 문제 그대로 풂 코드 접근방법: 1) import java.util.*; class Solution { public int[] solution(String[] park, String[] routes) { return walkInThePark(park, routes); } public int[] walkInThePark(String[] park, String[] routes) { /* * @Desc * 1.2차원배열(map)을 만들어 지나갈 수 있느지 여부를 저장 * 2.현재 위치의 인덱스를 변수로 설정(wIdx, hIdx) * 3.방향과 거리만큼 인덱스를 이동했을 때 가능한지 여부를 체크 * 4.인덱스 이동이 가능하다면 현재 위치의 값으로 설정 * 고정배열로 리턴 */ int wIdx..