https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 단순 String 메서드 활용 class Solution { public int[] solution(String s) { int[] answer = new int[s.length()]; answer[0] = -1; for(int i=1; i
https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 p의 길이, 즉 최대 18자리숫자이기 때문에 int가 아닌 Long타입으로 풀이. public int solution(String t, String p) { int answer = 0; Long pInt = Long.parseLong(p); for(int i=0; i= tss) { answer++; } } return answer; }
https://school.programmers.co.kr/learn/courses/30/lessons/155652# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 풀이 마지막 1레벨이라 빨리 풀고 2레벨 풀고 오랜만에 3레벨도 해야지~ 하다가 1시간이나 잡아먹었다... public String solution(String s, String skip, int index) { String answer = ""; char[] chArr = s.toCharArray(); for(int i=0; i
https://school.programmers.co.kr/learn/courses/30/lessons/159994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 goal을 컬렉션 List에 담아 맨 앞 값들이 같을 때 삭제처리했다. import java.util.ArrayList; import java.util.List; class Solution { public String solution(String[] cards1, String[] cards2, String[] goal) { List c1 = new ArrayList(); List c2 = ..
https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 드래그 시 위, 왼쪽 / 아래, 오른쪽의 최소값과 최대값을 구했고 최대값은 +1해줘야 한다. class Solution2 { //이차원배열 내 상하좌우 가장 튀어나온 값 구하기. public int[] solution(String[] wallpaper) { int top = Integer.MAX_VALUE; int left = Integer.MAX_VALUE; int bottom = Int..
https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 n은 전체길이, m은 한번 칠 할 수 있는 최대 길이, section은 칠해야 하는 곳이다. 한번 페인트를 칠하려고 벽에 갖다 대면 최대 길이만큼 무조건 칠해야한다. m=4이면 반드시 연속된 4미터를 칠해야한다. m이 4일 때, 시작지점이 2라면, 2,3,4,5 네 칸을 칠할 수 있다. m > 현재위치 - 시작위치 까지 한번에 칠할 수 있다. 풀이 배열을 단순히 배열의 처음부터 탐색하..
깊이 우선 탐색 ( Depth-First Search )루트 노드에서 시작해 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 특징1. 모든 노드를 방문하고자 하는 경우에 사용한다.2. 단순 검색 속도는 너비 우선 탐색(BFS)에 비해 느리다.3. 검색이 아닌 순회를 할 경우 많이 사용한다.공통 상위를 가지는 아래 리프 노드들을 한방에 잘라내는게 가능하기 때문에 백트래킹에 사용된다.미로를 탐색할 때 한 방향으로 갈 수 있을 때까지 계속 가다가 더 이상 갈 수 없게 되면 다시 가장 가까운 갈림길로 돌아와서 다른 방향으로 다시 탐색을 진행하는 방법과 유사하다. 장점1. 현 경로상의 노드들만 기억하면 되기 때문에 저장 공간의 수요가 비교적 적다.2. 목표 노드가 깊은 단계에 있을 ..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 String형식의 날짜(2022.05.05)를 형변환 한 뒤, Day로 치환하여 풀었다. 모든 달의 날짜가 28일까지라는 것이 조건이었기 때문에, 월별로 날짜의 수가 다른 것을 고려할 필요가 없었다. Int로 형변환 하는 메서드 substring을 활용하여 년, 월, 일을 뽑아내어 int형태의 날짜로 변환하였다. 문제 조건에서 년도는 2000~2022년도 까지라고 했기때문에 뒤의..