일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PCCP
- leetcode
- 미로 탈출 명령어
- reconstruct itinerary
- 2251
- DFS
- 소셜 광고
- 백준
- Shortest Path Visiting All Nodes
- 332
- 847
- 표편집
- 알고리즘
- 리트코드
- Eliminate Maximum Number of Monsters
- 백트래킹
- n+1카드게임
- 양궁대회
- 주사위 고르기
- Java
- 카드 짝 맞추기
- 구현
- SW아카데미
- Heap
- Number of Flowers in Full Bloom
- 자바
- 셔틀버스
- BFS
- 프로그래머스
- 주사위고르기
- Today
- Total
목록프로그래머스 (6)
알고리즘이 재미있다
https://school.programmers.co.kr/learn/courses/30/lessons/258707 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제도 저번에 봤었는데, 시간이 없어서 제대로 분석하지 못했었다. 다시 여유 있을 때 지문을 읽어보니 단순 구현 문제였다. 핵심 직관적으로 생각하면 순간순간 카드를 받을지 말지에 대한 모든 케이스를 생각해야 할 것 같지만, 실제로는 모든 카드를 다 받고 사용할 때 코인을 제출하면 된다. 정답 코드 import java.util.ArrayList; import java.util.List; cl..
https://school.programmers.co.kr/learn/courses/30/lessons/258709 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예전에 시도했다가 시간초과가 떴던 문제이다. 사실 이전에 풀 때도 시간초과가 날 거라고 거의 확신하고 푼 문제였기에 이번에 시간이 남아서 다시 풀어보았다. 핵심 이번 문제는 구현, 조합, 이분탐색을 사용해야 한다. 내가 맨 처음 접근한 방법은 완전탐색인데 이는 10개 중 5개의 주사위를 고르는 방법 10C5와 각각의 주사위의 합 6^5과 나머지 주사위들의 합인 6^5를 전부 비교해야 하기에 약 ..
https://school.programmers.co.kr/learn/courses/30/lessons/72415 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs와 bfs를 활용하는 문제이다. 난이도 자체가 어렵기보다는 빡코딩이라 실수하기 쉽다. 핵심 카드를 뒤집는 순서에 따라 카운팅이 달라지게 된다. 따라서 dfs를 통해 모든 순열을 탐색해 여한다. 중요한 점은 같은 종류의 카드가 2개가 있기 때문에 이를 어떤 카드를 먼저 뒤집느냐도 중요하다. -> 뒤집은 이후에 해당 위치가 달라지기 때문임. 이후 최단거리의 합들을 모두 더하면 된다. 정답 코드 ..
매일 알고리즘을 풀지만 최근에는 알고리즘에 대한 블로깅을 조금 소홀히 하였다. 어느 순간 취미활동인 느낌이 들기도 하였다. 아직도 많이 부족하지만 나름 많은 문제를 풀고, 옛날 생각도 나서 알고리즘 사이트에 대한 나의 생각을 적어보면 재미있겠다는 생각이 들어서 작성하게 되었다. 모든 내용은 온전히 개인적인 의견이며, 단순히 재미용으로 봐도 무방하다. 백준 https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 아마 제일 유명하다고 생각한다. 굳이 설명 안 해도 모두 다 알 것이다. 대부분의 사람들이 처음 알고리즘 문제를 접하는 곳이 아마 백준이라고..
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/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 구현문제이며 상당히 재미있는 문제라고 생각된다. 핵심 우선 내가 처음 시작 전 설계를 한 주석이다. /** * pq를 만들어서 timetable의 데이터를 분단위로 바꿔서 넣어줌 * 시작시간 9시 부터 t간격으로 n번 timetable의 데이터가 시간보다 작거나 같으면 poll해줌 최대 m까지 * 만약 m이 전부 가득차면 마지막 뺀시간의 -1을 저장, m이 가득안차면 출발시간을 저장 */ 사실 단..