일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 동적계획법
- 수학
- 그리디
- mst
- 위상정렬
- 알고리즘
- Effective Java
- swea
- 시뮬레이션
- 스택
- 플로이드-와샬
- dfs
- 이분탐색
- 구현
- CS
- 백트래킹
- 투 포인터
- 유니온 파인드
- 완전탐색
- 에라토스테네스의 체
- JUnit 5
- BFS
- 프로그래머스
- 문자열
- 후니의 쉽게 쓴 시스코 네트워킹
- 백준
- Kotlin
- Network
- 세그먼트 트리
- java
목록전체 글 (291)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이 문제를 풀기 위해서는 우선 문자열을 모두 숫자로 바꿔서 시간을 표현해야한다. 하지만 시간과 분을 따로 나눠서 처리하면 비교하기가 어렵기 때문에 1시간은 60분으로 변환하여 모든 시간을 분으로 처리하였다. 그리고 프렌즈를 빨리 도착한 순서대로 정렬한다. 콘이 가장 늦게 버스를 탈 수 있는 시간을 구하는 문제이므로 결국 콘이 마지막 버스를 마지막 순서로 탈 수 있는지를 확인하면 된다. 따라서 프렌즈를 모두 순서대로 버스에 태우고, 마지막 버스가 가득 찬 경우는 마지막에 탄 프렌즈보다 1분 일찍와서 타면 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 네트워크가 몇 개의 그룹으로 구성되어있는지 확인하는 문제이다. 방문 여부를 체크하는 배열을 만들고 DFS탐색을 하면 같은 네트워크에 속한 컴퓨터들은 재귀적으로 DFS 탐색을 하기 때문에 solution 함수에서 DFS를 총 몇 번 수행하는지를 세어주면 된다. 코드 #include #include using namespace std; void dfs(int n, vector& computers, vector& visited, int idx){ visited[idx] = true; for(int i=0; i
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 기초적인 DFS 문제이다. DFS를 하면서 모든 숫자를 다 탐색했을 때 target과 같은 결과를 가지고 있는지 확인하면 된다. 코드C++ #include #include using namespace std; void dfs(const vector& numbers, const int& target, int idx, int sum, int& answer) { if (idx == numbers.size()) { if (sum == target) answer++; return; } dfs(numbers, ta..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 문제를 보고 BFS라고 생각하기 쉽지만, 백트래킹을 통한 완전탐색 문제이다. 이 문제는 크게 2가지 부분으로 구성된다. i번째 사람이 어느 계단으로 갈지 결정하는 부분 구현 계단을 모두 빠져나가는 부분 구현 1번의 경우 백트래킹을 통해 어렵지 않게 모든 경우를 구할 수 있다. 그렇다면 이제는 2번을 구현해야한다. 어느 계단으로 갈 지 결정했다면, 1번 계단으로 가는 사람들이 계단까지 걸리는 시간과 2번 계단으로 가는 사람들이 계단까지 걸리는 시간을 구할 수 있다. 이를 계산한 뒤, 걸리는 시간을 오름차순으로 정렬한다. 그리고 계단을 queue로 구현하여 계단..
14889번: 스타트와 링크 www.acmicpc.net 풀이 백트래킹 문제이다. 무작위로 팀을 선정해서 전체 인원 수 / 2 만큼의 인원을 고르면 나머지는 B팀으로 생각하고 능력치를 계산해서 최소값을 구하면 된다. 코드 #include #include using namespace std; int n, ans = 987654321; int s[21][21]; bool a[21]; int get_result() { int sa = 0; int sb = 0; for(int i=1; i