일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kotlin
- 플로이드-와샬
- 시뮬레이션
- Network
- 유니온 파인드
- 이분탐색
- 세그먼트 트리
- 위상정렬
- 스택
- 후니의 쉽게 쓴 시스코 네트워킹
- 투 포인터
- 백준
- Effective Java
- 구현
- mst
- 그리디
- 프로그래머스
- 수학
- 동적계획법
- 백트래킹
- dfs
- BFS
- JUnit 5
- 에라토스테네스의 체
- java
- 문자열
- swea
- CS
- 알고리즘
- 완전탐색
목록전체 글 (291)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 BFS 알고리즘을 사용하여 (1, 1)에서 (n, m)까지 이동횟수를 체크하면 된다. 배열의 인덱스는 0부터 시작하므로 (0, 0)에서 (n-1, m-1)까지 이동횟수로 해결하였다. 코드 #include #include using namespace std; const int dx[] = {-1, 0, 1, 0}, dy[] = {0, -1, 0, 1}; int bfs(vector& maps){ int ret = 0; int m = maps.size(); int n = maps[m-1].size(); vec..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 입력값의 범위가 작기 때문에 완전탐색으로 해결할 수 있는 문제이다. 항상 자물쇠의 크기가 열쇠의 크기 이상이기 때문에 자물쇠를 확장하여서 풀이하였다. 위 그림의 기존의 자물쇠를 가로, 세로로 확장하여 아래의 그림과 같이 만든다. 이 상태에서 열쇠를 회전시켜가며 탐색하면 된다. 위의 그림들과 같은 순서로 모든 지점을 탐색하면 된다. (그림이 너무 많아져서 생략...) 코드 #include #include using namespace std; // 배열 90도 회전 함수 void rotate(vector& ..
2638번: 치즈 www.acmicpc.net 풀이 치즈 외부 공기와 접촉한 치즈들을 체크하는 것이 관건인 문제이다. 문제에 모는종이의 맨 가장자리에는 치즈가 놓이지 않는다 명시되어 있으므로 (0, 0)은 비어있는 칸임을 알 수 있다. 그래서 (0,0)에서 BFS로 탐색하여 외부 공기와 접촉한 치즈를 체크하여 해결하였다. BFS 탐색을 마쳤을 때 2차원 배열 visited의 값이 2 이상인 경우에는 외부 공기와 접축한 치즈라는 의미이므로 제거하였다. 코드 C++ #include #include #include #include using namespace std; int n, m, cnt; int map[101][101], visited[101][101]; const int dx[] = { -1, 0, 1..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Priority_Queue를 사용해서 밀가루가 0이 될 때마다 가장 많은 양을 보충해주면 된다. 코드 C++ #include #include #include using namespace std; int solution(int stock, vector dates, vector supplies, int k) { int answer = 0; int day = 0; int idx = 0; priority_queue pq; while (day < k) { // 공급받을 수 있는 날이 되면 pq에 저장 if (id..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 동적계획법 문제이다. 이 문제는 수학 시간에 경로의 갯수 문제를 풀던 방식으로 해결하였다. 예시로 살펴보자. S가 출발지점, T가 도착지점이라고 하였을 때 도착지까지 가는 경로의 수는 다음과 같이 구할 수 있다. 출발지점에서 오른쪽으로 이동하거나 아래로 이동하는 방법은 1가지밖에 없기 때문에 값을 1로 갱신해준다. 노란 지점으로 가는 방법의 수를 (2, 2) 라고 하면 (1, 2) 와 (2, 1) 에서 이동할 수 있기 때문에 (1, 2) + (2, 1)가 된다. 위와 같은 방식으로 값을 갱신하면 목적지에..