일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 13908
- 파라메트릭
- 기술면접
- 6987
- msSQL
- boj #19237 #어른 상어
- Docker
- 처우협의
- 처우산정
- 매개변수탐색
- BFS
- 오퍼레터
- compose
- softeer
- 경력
- upper_bound
- incr
- 물채우기
- 이분탐색
- OFFSET
- @P0
- 백준
- dfs
- 소프티어
- 백트래킹
- 연결요소
- BOJ
- Kafka
- 퇴사통보
- 성적평가
- Today
- Total
목록알고리즘 문제/BOJ (413)
기술 블로그
https://www.acmicpc.net/problem/17142 정답 코드 2개를 올리겠다. 두 번째 코드는 dist 배열을 활용하여 0의 개수와 비교하여 정답을 찾는 코드이다. 연구소 2 문제의 코드와 크게 다를 것이 없다. 다만, 연구소 3 문제에서는 Map[행][열] 일 경우에만 시간을 저장하고, Map[행][열]에 value를 부여하면 된다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021..
https://www.acmicpc.net/problem/17143 핵심은 시작부터 물고기가 끝 점(R or C) 또는 시작점(1)에 있을 수 있다. 예를 들어, 1에 있고 방향이 위로 향해있으면 아래로 고쳐줘야한다.물론 1에 있지만 방향이 아래면 굳이 고칠 필요가 없다. 또한, 굳이 정렬을 사용할 필요가 없었다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495#include using namespace std; typedef st..
https://www.acmicpc.net/problem/17141 전형적인 BFS + 백트래킹 문제이다. 80번 째 줄에 return time;이 아니라 return time - 1;인 이유는 BFS 진행 중에 return을 하는 것이 아니라, while을 모두 빠져난 후에 return하는 것이므로 1을 감소시켜 return 해야한다. Map[행][열]에 값(value)를 부여시켜, spread() 함수 실행 후 0이 그대로 있으면, 따로 MIN_time을 갱신하지 않고, 그 전에 return 해주면 된다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596..
https://www.acmicpc.net/problem/2744 그냥 올리고 싶어서 올려본다. 12345678910111213141516171819202122232425262728293031323334353637383940414243#include #include #include #include #include #include #include #include #include #include #include #include #include #pragma warning(disable:4996) #pragma comment(linker, "/STACK:336777216") using namespace std; int main(void){ string s; cin >> s; for (int i = 0; i
https://www.acmicpc.net/problem/16938 기본적인 백트래킹 문제이다. 첫 번째 코드는 내가 직접 푼 코드이고,두 번째 코드는 정답자 분들 중 짧기도 하고, 깨끗하게 푸신 분이 계셔서그 분의 코드를 참고하여 다시 구현해본 것이다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081#include #include #include #include #include #include #include #include #include #include #include #in..
https://www.acmicpc.net/problem/16937 처음에 배열로 접근하다가 피 봤다. 2차원 배열 인덱스를 활용하기에는 헷갈렸다. 단순 길이로 생각하고 풀었다. 단, chk() 함수에서 2가지 경우가 있다는 것만 생각하면 된다. 아래 그림 참고. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109#include #include #include #inc..
https://www.acmicpc.net/problem/16939 https://codeforces.com/contest/887/problem/C 처음에 bool check() 함수 내에서 return false; 하기 전에 init()을 안 해줘서 틀렸었다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912..
https://www.acmicpc.net/problem/17130 다시 풀어볼 문제이다. 복습! 다이나믹 프로그래밍 난이도는 어려웠다. 다른 분의 코드를 참고하여 힌트를 얻어가며 구현하였다... 더 노력해야겠다. 배열의 크기가 크다.(예 : 1000 * 1000), 어느 한 쪽의 방향으로 가는 것 같다. → dp(다이나믹 프로그래밍)인지 생각해 볼 것. dp 배열도 -1로 초기화하는 것이 좋다. 0으로 초기화하고, 토끼 위치를 1로하면 답을 출력할 때 ans - 1로 해야하는데 탈출을 못 할 때에는 -2가 돼버려, 또 다른 bool 같은 변수를 활용해야한다. 초기 나의 코드는 시간 초과코드이다. 1000 * 1000 배열을 재귀함수로 돌리니 당연히.. 코드를 구현하는데 얻은 힌트를 첨부하겠다.숫자는 순..