일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Union-find
- 투포인터
- 코테
- 삼성 #코테 #2020상반기 #c++
- 알고리즘
- BFS
- 코딩테스트
- 카카오
- 중반부
- c++
- 백준
- 식단
- LIS #Algorithm #요소추적
- 카카오인턴
- 소감
- 스마일게이트
- Smilegate
- 1편
- 보석쇼핑
- BaekJoon
- 서버개발캠프
- IBK기업은행 #기업은행 #디지털 #직무 #정리
- Algorithm
- 유니온파인드
- Today
- Total
목록전체 글 (222)
짱아의 개발 기록장
문제 자체는 매우 복잡하고 어려워보이지만, 결국은 처음 시작점으로 돌아올 수 있는 사이클이 있는 지를 판단하는 문제이다. DFS로 처음 시작점에서 사이클을 그려 시작점으로 돌아올 수 있는 지를 판단해주었다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 // Two Dots #include #include using namespace std; int n, m; string s; char game[51][51]; int dx[4]..
점화식을 세워서 풀 수 있는 DP문제였다. DP[n] = DP[n-1]+DP[n-5]; 1~5의 DP값은 미리 넣어놓고 이것보다 큰 값의 경우에만 계산해주었다. 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 32 33 34 35 // 파도반 수열 #include using namespace std; int n, testcase; long long dp[101] = {0, }; void setting() { dp[1] = 1; dp[2] = 1; dp[3] = 1; dp[4] = 2; dp[5] = 2; } int main() { cin>>testcase; setting(); for(int i=0; i>..
라인 기출문제?로 봤었던 문제인것 같다..! 아주 기본적인 BFS 문제이기 때문에 금방 풀 수 있었다. 다만, 조심해야하는 점은 순간이동에 걸리는 시간이 0초이기 때문에 +1, -1로 이동하는 것보다 순간이동으로 이동하는 코드가 먼저 나와야한다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 // 숨바꼭질3 #include #include using namespace std; int n, k; int dx[2] = {-1, 1}; int hideAndSeek() { queue q; q...
Gradle 환경에서 프로젝트를 실행할 때에 "finished with non-zero exit value" 오류가 나는 경우가 종종있다. 해결방법을 찾아보니 생각보다 간단했다. [Mac기준] Preferences -> Build, Execution, Deployment -> Gradle 들어가서 Build and run using : IntelliJ IDEA run tests using : IntelliJ IDEA Gradle 이 아닌 IntelliJ IDEA로 선택해주면 된다.
인텔리제이를 사용해서 Spring boot 프로젝트를 개발하고 있는데 폴더를 생성할 때 자꾸 아래 사진과 같이 "."이 붙으면서 이어서 생성이 되어서? 그래서 계속적으로 클래스 파일을 생성하는 데 계속 refactoring을 해야해서 매우 불편하던 와중에? 이것을 해결할 수 있는 방법이 있었다..ㅎㅎ 프로젝트 설정에서 Compact Middle Packages 옵션을 해제해주면 된다!
코드에 별도로 데이터베이스에 update 하는 쿼리가 어디에도 없음에도 불구하고 update쿼리가 실행되는 것을 말한다. JPA에서는 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔티티 객체를 데이터베이스에 자동으로 반영해준다. 이때, 변화가 있다는 것의 기준은 최초의 조회 상태이다. JPA에서는 엔티티를 조회하면 해당 엔티티의 조회 상태를 그대로 스냅샷으로 만들어놓는다. 그리고 트랜잭션이 끝나는 지점에서 기존에 떠놓았던 스냅샷과 비교해서 다른 점이 있다면 Update Query를 데이터베이스로 전달한다. ++ 추후 추가예정
JPA는 Spring boot에서 사용하는 ORM이다. JPA는 인터페이스이기 때문에 구현체가 필요한데, 여러 가지의 구현체가 존재한다. [JPA의 구현체] Spring Data Jpa -> Hibernate, Eclipse Link보다 한 단계 더 추상화한 개념 Hibernate, Eclipse Link -> JPA의 구현체 JPA
dfs로 해결할 수 있는 문제지만, 유니온파인드를 사용해서 풀었다. 다만, 문제를 풀다가 계속 20%에서 틀려서 엄청 고생했다..ㅎㅎ 스터디원의 도움을 받아서 반례를 찾을 수 있었다. 간선을 모두 이어서 cycle이 형성되면 그 집단의 최상위 부모를 cycle[최상위부모] = true로 해주었다. 하지만, 문제가 cycle이 이미 형성되고 간선을 긋게 되면 그것을 같은 cycle집단으로 판단하지 못하는 잘못된 로직을 구현했다. 아래는 내가 틀렸던 반례이다. 9 9 1 2 2 3 3 4 4 5 3 5 6 7 7 8 6 8 8 9 정답 : Case 1: No trees. 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..