https://school.programmers.co.kr/learn/courses/30/lessons/12973?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. Stack을 활용해 한방에 일치하는 char값이 있는지 확인 후 Stack에서 제거 2. 제거 시 해당 idx는 add하지 않아야 한다. (일치해서 제외했기 때문에 건너뛰어야함) import java.util.Stack; class Solution { public int solution(String s) { Stack st = new Stack(); for(in..
https://school.programmers.co.kr/learn/courses/30/lessons/172927# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 idx : minerals배열을 총 반복 돌아야하는 횟수로 나머지가 남을경우 올림처리(ex : 18일때 4번돌아야함) count : 광물 종류별 갯수 (처음에는 List을 활용하여 풀려고 했다) picksum : 총 광물을 캘 수 있는 수량(곡괭이 개수*5) 1. stone곡괭이의 경우의 수는 고려하지 않았다. 다이아, 철 곡괭이가 모두 소진된 후에 작업에 사용할 것이기 때문 2. m..
https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 따로 Map을 선언하여 want의 number을 K,V형태로 넣어서 풀까 그냥 풀까 생각하다 그냥 풀었다. 삼중 for문으로 현재 날짜에서 원하는 물건별 수량 이상을 살 수 있을 경우 cntday++처리했고 cntday는 해당 날짜에 want배열의 idx별 구매 여부를 체크한 것이기 때문에, want나 number의 길이와 같을 경우 모든 물품을 구매할 수 있기 때문에 조건을 주어 정답을 ..
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [알고리즘] 깊이 우선 탐색(DFS) [알고리즘] 깊이 우선 탐색(DFS) 깊이 우선 탐색 ( Depth-First Search ) 루트 노드에서 시작해 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 특징 1. 모든 노드를 방문하고자 하는 경우에 사용한다. 2. 단순 검 mag1c.tistory.com 프로그래머스 기준 전반적인 2레벨 문제나, 적당한 3레벨문제 정도..
https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 첫 풀이 class Solution { public String solution(String X, String Y) { String answer = ""; int[] x = new int[10]; int[] y = new int[10]; for(int i=0; i 0 && y[i] > 0) { int min = Math.min(x[i], y[i]); if(min > 1) { for(int ..
https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 어떻게하면 코드를 줄일 수 있을까 생각하다가 결국 원점으로 돌아와버렸다 방위 선택이나 이동시키는 과정에서 단축시키는 재귀함수를 생각해보았는데 결국 빙빙돌아서 해결이 되지 않았다 다시 원초적으로 돌아와서 쭉 나열해서 풀어서 성공했다. class Solution { public int[] solution(String[] park, String[] routes) { int startX = 0; ..
https://school.programmers.co.kr/learn/courses/30/lessons/60057# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 하나도 겹치지 않아 최소길이가 s의 길이가 될 수 있으므로 answer는 length에서 출발. 그냥 단순히 변수 생성으로 이전값과 현재값을 비교하여 sentence 변수 안에 넣어서 answer의 최소값을 Math.min()메서드를 사용하여 뽑아냈다. substring()을 활용하여 자를 수 있는 최대의 경우의 수는 s가 짝수던 홀수던 간에 s.length()/2 만큼이다. 또한 end의..
https://school.programmers.co.kr/learn/courses/18/lessons/1877?language=java# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열의 길이가 최대 10만으로 그냥 추가배열을 같은 길이로 생성하여 집어넣는 과정에서 조건들을 주어 해결 class Solution { public boolean solution(int[] arr) { int[] chk = new int[arr.length]; for(int i : arr) { if(i>arr.length) return false; else chk[i..