일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시뮬레이션
- 에라토스테네스의 체
- 스택
- 완전탐색
- 플로이드-와샬
- CS
- dfs
- Effective Java
- 백트래킹
- 유니온 파인드
- 위상정렬
- BFS
- 문자열
- java
- 투 포인터
- Kotlin
- 수학
- 후니의 쉽게 쓴 시스코 네트워킹
- 이분탐색
- JUnit 5
- 세그먼트 트리
- swea
- 프로그래머스
- 구현
- mst
- 동적계획법
- 그리디
- 백준
- 알고리즘
- Network
목록전체 글 (291)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일반적인 BFS 알고리즘을 사용해서 목적지까지 가는 경우를 구할 수 있다. 하지만 이 문제에서는 목적지까지 사용되는 최소 금액을 구해야 한다. 문제를 읽어보면 직선 도로 하나 만들 때는 100원, 코너를 하나 만들 때는 500원이 든다. 이 말은 (x, y) 좌표가 있다고 생각했을 때, (x, y)에 도달하기 전 블록에서의 방향과 (x, y)에서 다음 지점으로 나아갈 방향이 같은지 다른지가 금액을 결정한다는 말이다. 그리고 그 말은 한 지금 (x, y)까지 도달하는데 필요한 금액이 (x, y) 지점에 도..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이 문제는 효율성을 테스트하는 문제이다. 그리고 전형적인 투 포인터문제라고 할 수 있다. 보석들의 처음부터 끝까지 탐색하면서 set과 map을 이용해서 보석의 종류의 개수와 보석의 개수를 확인해주면 O(n) 시간만에 해결할 수 있다. 코드 #include #include #include #include using namespace std; vector solution(vector gems) { // 처음에 최대 구간으로 설정 vector answer = { 1, (int)gems.size() }; // ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 우선 expression을 숫자와 문자열로 분리해서 배열에 저장한다. 그리고 next_permutaion() 을 활용해서 연산의 우선순위를 결정하고 결정된 우선순위에 맞춰 연산을 해주면 된다. 코드 #include #include #include #include using namespace std; vector numbers; vector ops; // 문자열 자르기 void parse_expression(string expression) { int start = 0; for (int i = 0; i <..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 핸드폰 키패드의 좌표를 사전에 미리 저장해두고 왼손과 오른손의 위치를 계속해서 갱신해주는 방식으로 해결하였다. 코드 #include #include #include #include using namespace std; struct pos { int x, y; }; map l_hand = { {1, {0, 0}}, {4, {0, 1}} , {7, {0, 2}} }; map r_hand = { {3, {2, 0}}, {6, {2, 1}} , {9, {2, 2}} }; map mid_hand = { {2, {..
코루틴에는 Coroutine Context와 Dispatcher라는 것이 있다. 이번엔 그것들에 대해서 알아보자. Dispatchers and Threads 코루틴은 기본적으로 Coroutine Context 실행되는데, Context 요소 중에는 Dispatcher가 있다. 그리고 이 Dispatcher라는 것은 코루틴이 어떤 쓰레드에서 실행될지를 결정해준다. runBlocking, launch , async 등의 코루틴 빌더 함수에는 Courinte Context를 매개변수로 전달해줄 수 있다. import kotlinx.coroutines.* fun main() ..