일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- upper_bound
- compose
- 이분탐색
- 파라메트릭
- 백트래킹
- 백준
- 퇴사통보
- 6987
- Kafka
- 성적평가
- 오퍼레터
- 소프티어
- incr
- BFS
- 매개변수탐색
- Docker
- 기술면접
- 경력
- dfs
- 연결요소
- softeer
- boj #19237 #어른 상어
- 13908
- msSQL
- @P0
- OFFSET
- 처우산정
- 물채우기
- 처우협의
- BOJ
- Today
- Total
목록알고리즘 문제 (501)
기술 블로그
www.acmicpc.net/problem/17485 17485번: 진우의 달 여행 (Large) 첫줄에 지구와 달 사이 공간을 나타내는 행렬의 크기를 나타내는 N, M (2 ≤ N, M ≤ 1000)이 주어진다. 다음 N줄 동안 각 행렬의 원소 값이 주어진다. 각 행렬의 원소값은 100 이하의 자연수이다. www.acmicpc.net 맞은 문제이지만, 이상하게 다른 정답 코드들보다 긴 것 같았다. (아래는 내 코드이고, 맨 아래 코드가 정답자 분의 코드를 참고하여 다시 구현한 코드이다.) #include using namespace std; #define MAX 1010 int m[MAX][MAX], R, C; int dp[MAX][MAX][3]; int main(void) { cin.tie(0); i..
www.acmicpc.net/problem/1562 1562번: 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 10844번 쉬운 계단 수에서 0 ~ 9를 방문했는지만 체크하면 된다.(차원을 하나 더 늘려서 비트마스킹 활용) #include using namespace std; #define Mod 1000000000 #define LL long long // 1111111111(2) = 1023 // dp[a][b][c] : 길이 a, 끝자리 수 b, 방문표시 1
www.acmicpc.net/problem/19237 // https://www.acmicpc.net/problem/19237 #include using namespace std; #define SHARK_MAX 1010 #define BOARD_MAX_SIZE 22 // 1:위, 2:아래, 3:왼, 4:오 // N:배열 크기, M:상어 수(1~M), K:시간 int N, M, K; // 1~M번 상어의 위치(y, x) pair shark_position[SHARK_MAX]; // 냄새에 대한 정보 배열(상어 번호, 시간) pair smell[BOARD_MAX_SIZE][BOARD_MAX_SIZE]; // n번 상어의 현재 방향 int now_shark_direction[SHARK_MAX]; // n번 ..
https://www.acmicpc.net/problem/20055 구현 시뮬레이션 삼성 2020 하반기 신입사원 공채 SW 역량테스트 오전 1번 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116#include using namespace std; #define Max 1010 int n, k, a[Max];bool robot[M..
https://programmers.co.kr/learn/courses/30/lessons/12971 dp 동적계획법 코테 [0] [1] ... [i-2] [i-1] [i] ... 에서 i번 째 스티커를 뜯을 수 있는 경우는i-1번 째 스티커를 뜯지 않아야 한다.다시 말하면, [i-2]까지 누적된 최댓값에 해당 i번 째 스티커를 더해준다. 즉, dp[i] = dp[i-2] + sticker[i] 그리고, i번 째 스티커를 뜯지 않을 수 있으므로 dp[i] = dp[i-1]도 고려해줘야한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465..
https://programmers.co.kr/learn/courses/30/lessons/12929 카탈랑(또는 카탈란) 수이다. f(n) = (2nCn) / (n+1) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576import java.io.*;import java.util.*; public class Solution { static BufferedReader br; static BufferedWriter bw; static int c(int n, int r) { if(r == 0 || r ==..
https://programmers.co.kr/learn/courses/30/lessons/42579 제가 푼 이 코드가 정답이긴 하나 복잡하니 다른 블로그의 코드를 참고하세요. 후에 다시 풀 예정입니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301..
https://programmers.co.kr/learn/courses/30/lessons/17678 핵심은 다음 2가지이다. 1. 모든 버스를 사용하였고(n만큼), 모든 손님을 모두 다 태웠을 경우에는 마지막에 탄 사람의 시간(=Last)에서 1을 빼준다.2. 위의 경우가 아니라면, 버스의 마지막 운행시간이 정답이다. 주의할 것은 35~37번 째 줄에서 break를 통해 time이 계산되기 전에 빠져 나오는 경우도 생각하자. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283..