문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 HashMap을 2개 사용하여 풀이했다 map - 주차번호가 in / out 판단해주는 hashMap => map에 주차번호가 있으면 in / 없으면 out - (주차번호, 입차할때의 시간) 으로 저장 parking - 주차번호에 대해 전체 시간 구해주는 hashMap - (주차번호, 전체 시간) 으로 저장 1. records [] 에 대해 for문을 돌면서 다음을 수행 1) map에 ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/49994# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(String dirs) { int dx [] = {-1, 1, 0, 0}; int dy [] = {0, 0, 1, -1}; boolean visited [][][] = new boolean [11][11][4]; int x = 5; int y = 5; int answer = 0; fo..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/49189?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { int dist []; List graph []; public int solution(int n, int[][] edge) { graph = new ArrayList[n+1]; for(int i=0;i
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 직접 코드의 로직을 구현했다. listIdx를 이용하여 uid에 대해 해당 answer가 위치한 idx를 저장해주어 시간초과가 안나도록 만들어 주었다. import java.util.*; class Solution { List answer = new ArrayList(); HashMap map = new HashMap(); HashMap listIdx = new HashMap(); pu..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int[] solution(int N, int[] stages) { List list = new ArrayList(); for(int i=0;i Double.compare(o2.rate, o1.rate)); int answer [] = new int [N]; for(int i=0;i
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 점화식은 f(n) = f(n-1)+f(n-2) 으로 나타난다. 길이 n인 바닥의 맨 앞에 새로로 타일을 하나 놨다고 생각하자. 그럼 남은 길이는 N-1이 된다. 그러므로 남은 공간을 채우는 가지수는 f(n-1)이 된다. 반대로 타일을 가로로 놨다고 생각해보자. 타일을 가로로 놨다면 남은 길이는 n-2가 된다. 그러므로 남은 공간을 채우는 가지수는 f(n-2)이다. 이 두 경우를 합 한것..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/178870# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 투포인터를 이용하여 문제 풀이를 진행하였다. start는 시작 인덱스, end는 끝 인덱스+1 로 잡았다 코드 class Solution { public int[] solution(int[] sequence, int k) { int start = 0; int end = 1; int sum = sequence[0]; int len = sequence.length; int[] answe..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 우선 문제 예제를 살펴보자 targets [[4,5],[4,8],[10,14],[11,13],[5,12],[3,7],[1,4]] result 3 1. targets 는 입력 배열이다. 입력 배열을 살펴보면 무작위로 들어온 것을 확인할 수 있다. 그림 처럼 만들어 주기 위해 target[i][1]에 대해 sort를 해준다. 2. 처음 만나는 targets[i][1]에 대해 targetM..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 제거할 문자 K개를 찾는다는 말은 포함할 문자가 NUMBER길이 - K 개라는 뜻이다. 따라서 for문을 이용하여 포함할 문자의 개수만큼 포함할 문자를 찾는다. 두번째 for문의 범위는 탐색해야하는 문자의 시작(index)부터, k+i까지 탐색을 해야한다. (k+i까지 탐색해야 포함할 문자를 number-k개 찾을 수 있다) 그리고 index에는 가장 큰수 다음 index를 넣어준다. ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181187# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 먼저 x, y선에 존재하는 좌표의 개수를 구해서 더해준다. 2. 사분면 안에서 좌표의 개수를 구해준다. 2-1. 큰 원의 좌표의 개수를 구하고 작은원의 좌표의 개수를 뺀다. 이때 곱하기를 할때 꼭 타입 캐스팅을 해줘야 한다. 2-2. 작은원이 좌표가 정수 좌표를 지날 경우에는 1을 더해준다. 코드 class Solution { public long solution(int r1,..