알고리즘(Algorithm)의 종류, 분류/시뮬레이션(Simulation) 5

[JAVA]백준 17281번: 야구공

https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 난이도 문제 이해 ⭐⭐⭐⭐ 구현 ⭐⭐⭐⭐ | 문제 해결방법 💡Idea : 순열 + 브루트포스 알고리즘 1. 타순을 결정한다.( 한 번 결정된 타순으로 모든 이닝을 진행 ) - permutation() 2. 게임을 진행한다. ( 한 이닝은 아웃이 3회가 되면 종료한다. ) 2-1. 주어진 이닝 수 만큼 게임을 진행한다. - game() 2-2. 타자가 공을 친 만큼 주자들이 움직인다. - run() 3...

[JAVA]SWEA_활주로 건설

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeW7FakkUDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 문제 해결방법 ⭐Idea : 시뮬레이션 ✨단순하게 모든 열, 모든 행을 검사하면서 건설 가능 활주로의 개수를 출력해주면 된다.✨ (까다로운 부분 몇 가지만 빼면 어렵지 않은 문제였다.) 시작👆 가로/세로 각각 오른/아래 방향으로 도로를 탐색 처음부터 도로의 길이를 세면서 진행(높이가 같은 도로의 길이만 count) | 나올 수 있는 경우들 1. 지형의 높이가 높아지는 경우(↑) 2. 높이가 같은..

[JAVA]백준 2239번: 스도쿠

https://www.acmicpc.net/problem/2239 2239번: 스도쿠 스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다 www.acmicpc.net | 문제 해결방법 ⭐Idea : 백트랙킹 + dfs 백트랙킹이.. 어려워서 오래걸렸다. 약 2시간😥 아래 블로그를 참고해서 공부한 후 다시 풀었다. 참고 블로그 : https://sorjfkrh5078.tistory.com/22 [JAVA] 해설 코드 package simulation; import java.io.BufferedReader; import java.io.IOException; ..

[JAVA]백준 17143번: 낚시왕

https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net | 고려 요소 상어의 속력이 큰 경우, map안에서 1. 위, 아래 또는 2. 좌, 우 로 같은 길을 반복해서 이동 반복으로 인해 시간 초과 문제 발생 | 해결 방법 상어의 속력을 저장하기 전에 1. 위, 아래의 경우 map의 row로 2. 좌, 우의 경우는 col 크기로 mod 연산한 후 그 값을 속력으로 저장 이 방법으로 불필요한 반복을 줄일 수 있다. // d==1 상 d..

[JAVA]SWEA_특이한 자석

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?contestProbId=AWIeV9sKkcoDFAVH&solveclubId=AXqh7JhKC0QDFAV2&problemBoxTitle=%ED%92%80%EC%96%B4%EB%B4%85%EC%8B%9C%EB%8B%A4.&problemBoxCnt=29&probBoxId=AXqh7JhKC0UDFAV2 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com | 문제 해결방법 시뮬레이션 문제 처음에는 마지막 요소 -> 맨 앞으로 이동 또는 맨 앞 요소 -> 마지막 요소로 이동 의 연산 문제를 해결하기 위해 De..