일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 사이트
- 트리 순회
- 하둡
- golang
- 백준
- 12761 돌다리
- 도메인 주도 개발
- 도메인 주도 개발 시작하기
- 백준 12761
- http 완벽가이드
- hadoop
- 정렬
- 고 배열
- MongoDB Realm
- 몽고디비 렘
- 자바
- 파이썬
- http 개념
- 자바 디자인 패턴
- String 함수
- domain driven develop
- 백준 12761번
- 백준 파이썬
- 자바 디자인패턴
- golang struct
- 우분투
- 12761번 돌다리
- ddd
- flask
- go
- Today
- Total
목록[ Algorithm ]/ [ BOJ ] (54)
개발바닥
문제 https://www.acmicpc.net/problem/17610 문제 해결 방법 모든 경우의 수 체크해서 문제를 해결하였습니다. 왼쪽 , 오른쪽 들고 있을 수 있는 경우의 수를 모두 구한 후 2중 포문을 통해서 모든 경우의 수를 확인 하였습니다. for ( 왼쪽이 추를 들고 있는 경우의 수 ) for ( 오른쪽이 추를 들고 있는 경우의 수 ) 인덱스 값 = 왼쪽 값 - 오른쪽 값 체크 변수에 인덱스 값을 true로 변경 한다. 주의할점 저는 최대 나올 수 있는 크기 20만 * 13 을 계산해서 260만 메모리 크기로 변수를 선언했지만, 계속 런타임 에러 ( 잘못된 메모리 주소를 참조해서 발생하는 에러 )가 발생해서 메모리 크기를 2600002로 변경해주었더니 통과 되었습니다. 소스 코드 http..
문제 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.acmicpc.net/problem/9536 문제 해결 방법 HashMap을 사용해서 문제를 해결하였습니다. key 값= 동물 value값 = 동물 울음소리 로 보관하여서 value 값이 존재하지 않다면 출력하면 간단하게 문제를 해결하실 수 있습니다. 자바 사용하면서 몰랐던 사실은 nextInt 사용후 nextLine을 쓰고 싶다면 nextLine()을 한번 사용해주고 사용을 해야지 제대로 동작이 됩니다. 소스 코드 https://github.com/jokerKwu/java/blob/master/JavaStructure/src/BOJ/BOJ_9536.java