일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Shortest Path Visiting All Nodes
- 알고리즘
- DFS
- BFS
- 주사위 고르기
- Number of Flowers in Full Bloom
- 프로그래머스
- reconstruct itinerary
- 백트래킹
- 자바
- n+1카드게임
- 소셜 광고
- 카드 짝 맞추기
- 양궁대회
- 셔틀버스
- SW아카데미
- Java
- Heap
- 구현
- 미로 탈출 명령어
- 리트코드
- 백준
- 2251
- Eliminate Maximum Number of Monsters
- 332
- 주사위고르기
- 847
- leetcode
- PCCP
- 표편집
- Today
- Total
목록분류 전체보기 (16)
알고리즘이 재미있다
https://leetcode.com/problems/shortest-path-visiting-all-nodes/?envType=daily-question&envId=2023-09-17 LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 최단경로를 찾는 문제이다. 즉 bfs를 활용하여 풀 수 있다. 핵심 최단경로를 찾는 문제이지만, 방문한 곳을 다시 갈 수 있다...
https://leetcode.com/problems/reconstruct-itinerary/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이 문제와 거의 유사한 문제를 프로그래머스에서 풀었던 기억이 난다. 그때도 dfs를 사용하여 풀었다. 핵심 문제 자체는 되게 단순하다. List에 시작점, 도착점을 저장해 둔 상태인데, 계속해서 이어나가면 된다. 단 정..
https://school.programmers.co.kr/learn/courses/30/lessons/81303 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 보자마자 생각난 방법은 링크드 리스트였다. 아마 정석적인 풀이 방법이 링크드 리스트라고 생각한다. 하지만 이 문제는 StringBuilder를 사용하면 쉽게 풀 수 있다. 핵심 StringBuilder의 함수를 잘 사용하면 매우 쉽게 풀 수 있다. 정답 코드 import java.util.Stack; class Solution { public String solution(int n, int ..
https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전탐색을 하면 시간초과가 발생하는 문제이다. bfs와 dfs 중 원하는 것을 골라서 풀 수 있다. 핵심 bfs든 dfs든 break 포인트를 걸어주어야지만 시간초과를 막을 수 있다. 또한 사전순으로 탐색하기에 탐색 조건의 순서를 사전순으로 배치하면 더 쉽게 풀 수 있다. 이 문제에서 재미있는 점은 방문한 곳을 한 번 더 방문할 수 있다는 것이다. 다만 k번의 움직임만에 도달해야 하기에 남은 거..
https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS로 풀 수 있는 문제이다. 핵심 n의 크기가 작기 때문에 dfs를 통한 완전탐색을 사용하여 풀 수 있다. 즉 모든 경우의 수를 구하고 그때의 점수를 비교하는 방식으로 풀면 된다. 정답 코드 import java.util.ArrayList; import java.util.List; class Solution { private final List results = new ArrayList(); ..
https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 구현문제이며 상당히 재미있는 문제라고 생각된다. 핵심 우선 내가 처음 시작 전 설계를 한 주석이다. /** * pq를 만들어서 timetable의 데이터를 분단위로 바꿔서 넣어줌 * 시작시간 9시 부터 t간격으로 n번 timetable의 데이터가 시간보다 작거나 같으면 poll해줌 최대 m까지 * 만약 m이 전부 가득차면 마지막 뺀시간의 -1을 저장, m이 가득안차면 출발시간을 저장 */ 사실 단..