일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- http 개념
- hadoop
- 도메인 주도 개발 시작하기
- http 완벽가이드
- 백준 12761번
- 12761 돌다리
- golang
- 자바
- 도메인 주도 개발
- 트리 순회
- 백준 파이썬
- 12761번 돌다리
- 하둡
- 백준 사이트
- 백준
- 몽고디비 렘
- 자바 디자인패턴
- 자바 디자인 패턴
- MongoDB Realm
- flask
- domain driven develop
- String 함수
- 파이썬
- 정렬
- ddd
- 고 배열
- 백준 12761
- golang struct
- 우분투
- go
- Today
- Total
목록[ Algorithm ] (95)
개발바닥
문제 https://www.acmicpc.net/problem/9376 실패 했던 이유 제출 했을 때 메모리 초과가 발생했다. 그 원인을 찾아보니 맵이 커지면 큐에 중복되서 좌표를 집어 넣어서 큐가 터져서 메모리 초과가 발생했던 것이다. 문제 해결 방법 문제에서 죄수2명과 상근이가 문을 최소로만 열고 탈옥을 해야되므로 각각 bfs를 돌려서 문을 최소로 열면서 탈옥하도록 구현을 한다. 이렇게 되면 죄수2명 상근 각각 이동 횟수 맵이 만들어지므로 총 3개 맵이 만들어진다. 3개 맵을 합쳐서 맵안에서 이동가능한 경로 중 최소값을 뽑아 내면 된다. 여기서 주의할 점 세명이 문 '#' 좌표에 모이는 곳을 처리하는 과정이다. 죄수나 상근이가 문을 열게되면 다른 두명은 그 문을 열 필요가 없기 때문에 그냥 이동이 가..
문제 https://www.acmicpc.net/problem/10026 문제 해결 방법 BFS 알고리즘을 사용해서 문제를 해결하였습니다. 소스 코드 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/BFS/BOJ_10026_2.cpp
문제 https://www.acmicpc.net/problem/17406 문제 해결 방법 문제 조건에서 회전 연산은 모두 한번씩 사용해야 하며, 순서는 임의로 정한다고 했으므로 회전 연산에 나올 수 있는 모든 집합들을 확인해야 되므로 백트래킹 알고리즘을 사용해서 모든 경우를 확인하였습니다. 소스 코드 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/Simulation/boj_17406_2.cpp
문제 https://www.acmicpc.net/problem/2573 문제 해결 방법 덩어리 체크 하는 부분은 BFS를 통해서 체크를 하고 얼음 녹이는 부분은 상하좌우로 물인지 체크를 해서 물 개수만큼 차감하였습니다. 소스 코드 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/BFS/boj_2753.cpp
문제 https://www.acmicpc.net/problem/3055 문제 해결 방법 BFS로 문제를 해결하면 된다. 문제 조건에서 물이 들어갈 예정에는 고슴도치를 이동시킬 수 없으므로 물을 먼저 이동시키고 고슴도치를 이동시키면 된다. 소스 코드 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/BFS/boj_3055.cpp
문제 https://www.acmicpc.net/problem/2174 문제 해결 방법 주어진 조건대로 하나씩 구현하면 해결할 수 있다. 1. 명령어 하나씩 꺼내서 실행시킨다. 1-1 명령문에 따라서 움직여준다. ( 왼쪽, 오른쪽 회전 , 앞으로 전진) 앞으로 전진할 때 로봇이 있는지 벽이 있는지 체크해주어야 된다. 문제에서 실수할 수 있는 부분 일반적으로 왼쪽상단이 1,1 로 시작하지만 이 문제에서는 왼쪽 하단에서 1,1이 시작된다 이로 인해서 안바꾸고 작업을 하게되면 위로 가거나 밑으로 갈때 설정을 안바꿔주면 실패하게된다. 또 문제에서 놓칠수 있는 부분으로 명령문을 하나씩 꺼내서 한번씩 움직이는게 아니라 해당 명령문에 loop가 전부 끝날때까지 다른 명령문을 실행할 수 없다는 부분이다. 소스 코드 h..
문제 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWS2h6AKBCoDFAVT&categoryId=AWS2h6AKBCoDFAVT&categoryType=CODE 문제 해결 방법 우뚝 선 산을 기준으로 왼쪽과 오른쪽을 카운트를 한다. 기본적인 문제 해결 방법은 그리고 끝나는 지점에 왼쪽 카운트*오른쪽 카운트 계산해서 결과 값에 더해주고 초기화 해준다. 저는 우뚝 선 산을 기준으로 왼쪽과 오른쪽을 카운트하기 위해서 입력받은 값들을 부등호로 표시해준 뒤 큐에 넣어서 큐에 하나씩 꺼내면서 끝나는 지점에는 계산을 해주고 카운트를 초기화해주는 방식으로 문제를 접근했습니다. 알고리즘 스터디에서 스터디원분 힌트로 문제..
문제 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo&categoryId=AWXRDL1aeugDFAUo&categoryType=CODE 문제 해결 방법 기본 로직 bc에 영역을 맵에 표시를 한다. (중복되는 경우 따로 표시) 입력 받은 명령어대로 이동하면서 맵에 bc영역인 경우 성능을 최대치 받도록 최대치 값을 구한다. 주의할점 시작할때 충전을 하지만 여러개 겹쳐있는 영역일 수 있으므로 출발점도 예외처리를 제대로 해주어야 된다. 소스 코드 보기 https://github.com/jokerKwu/BOJ_Algorithm/blob/master/SW%20expert%20Academy/..