본문 바로가기
728x90

분류 전체보기476

[연습문제] 혼자 놀기의 달인 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 음 이 문제는 DFS로 해결 가능한 문제였던 것 같다 1번 카드(0번 인덱스)부터 차례대로 방문하면서 해당 인덱스의 카드값이 다음 인덱스가 되도록 한다 그리고 방문한 카드의 인덱스는 visit 배열을 통해 방문 처리를 하고, 이미 방문한 경우 방문한 카드 개수를 배열에 저장한다 그 후 내림차순 정렬해서 최댓값 2개의 곱을 반환하면 된다 내가 헷갈렸던 부분은 DFS를 적용해서 몇 개의 노드를 방문.. 2022. 11. 2.
[연습문제] 야근 지수 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 흠 이 문제는 PriorityQueue의 효율성을 느낄 수 있었던 문제다ㅋㅋㅋㅋㅋ 이게 알고리즘 자체는 크게 어렵지 않은데, 효율성 통과가 관건이었던 것 같다 (물론 나는 정확성 테스트도 난리나긴 했다..^^) 암튼 우선순위 큐를 사용하라는 말을 듣고 고대로 풀어봤는데 쉽게 풀렸다! 조심할 것은 우선순위 큐를 역순으로 정렬하도록 선언해야 한다는거? 네... 제가 안했습니다..^^ 그리고 반복문을 .. 2022. 11. 2.
[연습문제] 최고의 집합 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 엄청 어렵지는 않았는데 포인트를 잡는 것이 관건이었다 전체 가능한 경우의 수를 구하는 것이 아닌, 최고의 집합을 찾는 규칙을 발견하는게 중요하였다!! 최고의 집합 조건은 주어진 원소의 개수만큼 주어진 합을 만족하고, 각 원소의 곱이 최댓값인 경우이다 즉, 최대 곱이 나오는 경우를 고민하는 것이 중요하다! 만약 n=3, s=6이면, 최고의 집합은 [2,2,2]가 된다 즉, s를 n으로 나.. 2022. 11. 1.
[DP] 사칙연산 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/1843 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP....? 점화식 찾는것도 어렵지만 이 문제는 각 부분마다 최대 최소를 구해줘야 하는것을 생각조차 못했다....^^ 문제 풀이 a와 b라는 식이 있다고 가정하면, 아래와 같은 규칙(?)이 나온다 a+b 의 최댓값 -> a는 최댓값, b도 최댓값 a-b 의 최댓값 -> a는 최댓값, b는 최솟값 a+b의 최솟값 -> a는 최솟값, b도 최솟값 a-b의 최솟값 -> a는 최솟값, b는 최댓값 그래서.. 2022. 11. 1.
[이분탐색] 징검다리 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/43236 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 이해하는데 너무 오래걸렸다 시험에 나온다고 하면 풀이 방법도 감도 못잡고 끝났을 것 같다,, 후.. 진짜 백준으로 기강 다시 잡아야겠다.. 암튼! 이 문제는 바위를 n개 제거한 후 각 지점 사이의 거리의 최솟값 중에서 가장 큰 값을 찾으면 된다 ...? 탐색해야 할 값은 '지점과 지점 사이의 거리' 라는거! 이게 포인트다 문제 풀이 순서 rocks 배열 (바위 간 거리)을 정렬하고, 이.. 2022. 11. 1.
[그래프] 가장 먼 노드 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 bfs로 풀다가 depth 카운팅이 이상해서 아닌가...? 하고 다익스트라로 풀려고 했는데 뭔가 bfs로 풀 수 있을 것 같은 느낌이 진허게 나서 결국 찾아봤따,,, 찾아보니 bfs로 풀 수 있더라구~ 내가 bfs를 잘못 썼지 뭐야 ^^; 어차피 1번 노드부터 모든 노드까지의 최단 거리를 구해야하니까 출발지는 1번으로 하고 bfs로 모든 노드까지의 거리를 구해주면 되는 거였다! 풀이에서 신.. 2022. 10. 27.
728x90