본문 바로가기

알고리즘

(89)
[백준] 미친 로봇 - 1405[ JAVA ] | Link www.acmicpc.net/problem/1405 1405번: 미친 로봇 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 100보다 작거나 같은 자 www.acmicpc.net | 문제 통제 할 수 없는 미친 로봇이 평면위에 있다. 그리고 이 로봇은 N번의 행동을 취할 것이다. 각 행동에서 로봇은 4개의 방향 중에 하나를 임의로 선택한다. 그리고 그 방향으로 한 칸 이동한다. 로봇이 같은 곳을 한 번보다 많이 이동하지 않을 때, 로봇의 이동 경로가 단순하다고 한다. (로봇이 시작하는 위치가 처음 방문한 곳이다.) 로봇의 이동 경로가 단순할 확률을 구하는 프로그램을 작성..
[삼성 SW Expert Academy] 5656. [모의 SW 역량테스트] 벽돌 깨기 [JAVA] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRQm6qfL0DFAUo&categoryId=AWXRQm6qfL0DFAUo&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 풀이 step 1 : 중복순열 - dfs() 1. 선택 해야하는 개수 - ( 1 1) { int t = map[nx][..
[삼성 SW Expert Academy] 5644. [모의 SW 역량테스트] 무선 충전 [JAVA] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 풀이 step : MapMake 함수 -800*64 더보기 - map을 3차원 배열로 만들었다. [ 행 ] [ 열 ] [ Battery Charger # ] - O(맵의 가로^2) * O(BC개수) =..
[백준] 골목 대장 호석 - 기능성 20168 [JAVA] | Link www.acmicpc.net/problem/20168 20168번: 골목 대장 호석 - 기능성 첫 줄에 교차로 개수 N, 골목 개수 M, 시작 교차로 번호 A, 도착 교차로 번호 B, 가진 돈 C 가 공백으로 구분되어 주어진다. 이어서 M 개의 줄에 걸쳐서 각 골목이 잇는 교차로 2개의 번호와, 골목의 www.acmicpc.net | 문제 소싯적 호석이는 골목 대장의 삶을 살았다. 호석이가 살던 마을은 N 개의 교차로와 M 개의 골목이 있었다. 교차로의 번호는 1번부터 N 번까지로 표현한다. 골목은 서로 다른 두 교차로를 양방향으로 이어주며 임의의 두 교차로를 잇는 골목은 최대 한 개만 존재한다. 분신술을 쓰는 호석이는 모든 골목에 자신의 분신을 두었고, 골목마다 통과하는 사람에게 수금할 것..
[삼성 SW Expert Academy] 4008. [모의 SW 역량테스트] 숫자 만들기 [JAVA] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeRZV6kBUDFAVH& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 풀이 연산자의 순열 구하기 - DFS 해당 순서대로 연산을 진행하며, 최소 값 / 최대 값 갱신 연산자의 개수를 굳이 순열로 바꾸기 위해 [N-1] 크기의 배열에 하나씩 저장하는 바보같은 행동을 했다..
[삼성 SW Expert Academy] 1824. 혁진이의 프로그램 검증 [JAVA] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4yLUiKDUoDFAUx SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 풀이 시뮬레이션 무한루프에서 어떻게 빠져나올지 생각하는게 관건이다. visited를 4차원 배열로 관리하자. [행][열][memory값][방향] -> 같은 값 + 방향으로 똑같이 와봤자 같은 꼴임. 처..
[삼성 SW Expert Academy] 8382. 방향 전환 [JAVA] | Problem ※ SW Expert Academy는 문제의 무단 복제를 금지하고 있기 때문에, 기재하지 못한 점 양해 부탁드립니다. | Link ※ 하단의 Link를 클릭해도, 로그인 후 열람이 가능합니다. swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWyNQrCahHcDFAVP&categoryId=AWyNQrCahHcDFAVP&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 풀이 가로 또는 세로로 모두 이동해보기 bfs 사용해서 이전과 다른 방향으로 이동하면서 찾고자 하는 값 찾기 유의사항 ..
[백준] 문자열 지옥에 빠진 호석 20166 [JAVA] | Link www.acmicpc.net/problem/20166 20166번: 문자열 지옥에 빠진 호석 K개의 줄에 걸쳐서, 신이 좋아하는 문자열을 만들 수 있는 경우의 수를 순서대로 출력한다. www.acmicpc.net | 풀이 DP를 처음 적용해본 문제이다. ㅎㅎ c->a->b의 개수를 구할 때, 색칠한 a로 부터 갈 수 있는 b의 길은 2가지로 정해져있다. 따라서, a에서 또 dfs 를 통해 탐색할 필요가 없다는 것을 깨달았다. ==> a로부터의 가짓수가 많아지면 낭비 심해짐 그러므로 DP를 적용하기로 생각했다. 어떻게 적용할 수 있을까? 문자열의 끝부분 부터 탐색하며, 문자열의 첫 부분에는 해당 값들을 모두 더해주면 된다. DP를 3차원 배열로 만들어서 신이 좋아하는 문자열의 맨 끝부분 부터 ..