일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 완전탐색
- swea
- 수학
- 그리디
- 에라토스테네스의 체
- 투 포인터
- 백준
- dfs
- 후니의 쉽게 쓴 시스코 네트워킹
- 문자열
- java
- 동적계획법
- 프로그래머스
- 플로이드-와샬
- 스택
- 이분탐색
- Kotlin
- 위상정렬
- 시뮬레이션
- CS
- 백트래킹
- BFS
- 세그먼트 트리
- 구현
- JUnit 5
- mst
- Network
- 유니온 파인드
- Effective Java
- 알고리즘
목록전체 글 (291)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2 x n 타일링과 유사하지만 조금 더 생각해야하는 동적 계획법 문제이다. 우선 홀수의 경우는 타일링이 불가능하다는 것을 알 수 있다. 그렇다면 짝수의 경우를 생각해봐야한다. 우선 3 x 2 를 타일링하는 경우를 생각해보자. 2의 경우 아래와 같이 3가지 경우가 가능함을 쉽게 알 수 있다. 즉, f(2) = 3 이다. 다음은 3 x 4을 타일링하는 경우이다. 2 x n 타일링에서 처럼 2 x 3 에서 했던 경우를 이용해야할 것 처럼 보인다. 2 + 2 = 4이므로 f(4) = f(2) x f(2) 라고 생각할..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 시뮬레이션 문제이다. 구조물을 추가하거나 제거해도 문제에 주어진 규칙을 만족시켜야 한다. 아래의 코드에서는 구조물을 추가하거나 제거할 때마다 모든 구조물들이 규칙을 만족시키는지 확인했다. 그렇게 함으로써 구조물을 추가하거나 제거하는 로직이 간단해진다. 구조물을 추가할 때는 우선 구조물을 추가했을 때 모든 구조물들이 규칙을 만족시키지 못한다면 구조물을 제거하면 되고, 반대로 구조물을 제거할 때는 일단 구조물을 제거하고 모든 구조물이 규칙을 만족하지 못한다면 다시 구조물을 추가하면 된다. 구조물의 설치 여부..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 그리디 알고리즘을 사용해서 풀 수 있다. 우선 routes를 오름차순으로 정렬하면 진입지점이 가장 빠른 순서대로 정렬된다. 그 상태에서 첫 번째 차량을 기준으로 잡고 다음 차량부터 비교해준다. 다음 차량이 기준점보다 먼저 고속도로를 빠져나가면 기준점의 위치를 변경한다. 다음 차량의 진입 지점이 기준점보다 나중이라면 기존의 CCTV로는 해당 차량을 감시할 수 없기 때문에 CCTV 개수를 늘리고 해당 차량의 진입점을 기준으로 한다. 코드 #include #include #include using namesp..
11005번: 진법 변환 2 www.acmicpc.net 풀이 진법 변환을 할 수를 계속해서 나누면서 나머지를 통해 진법 변환을 할 수 있다. 이 때, 변환된 값이 문자열 앞에 와야한다는 것을 주의하자. 코드 #include using namespace std; int n, b; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n >> b; string ans = ""; while (n > 0) { if (n % b < 10) ans = (char)('0' + (n % b)) + ans; else ans = (char)('A' + (n % b - 10)) + ans; n /= b; } cout
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 행렬의 곱셈을 구현하면 된다. 곱셈 결과를 계산하기 전에 결과 행렬의 크기는 미리 알 수 있으므로 사이즈를 미리 초기화하는 방식으로 구현했다. 코드 #include #include using namespace std; vector solution(vector arr1, vector arr2) { int n = arr1.size(), m = arr2[0].size(); vector answer(n, vector(m)); for (int i = 0; i < n; i++) { for (int j = 0; j ..