백준
-
백준(BOJ) 17281번 ⚾알고리즘 풀이/백준(Boj) 2020. 2. 20. 02:29
문제 : https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종료되고, 두 팀이 공격과 수비를 서로 바꾼다. 두 팀은 경기가 시작하기 전까지 타순(타자가 타석에 서는 순서)을 정해야 하고, 경기 중에는 타순을 변경할 수 없다. 9번 타자까지 공을 쳤는데 3아웃이 발생하지 않은 상태면 이닝은 끝나지 않고, 1번 타자가 다시 타석에 www.acmicpc.net 풀이 : 첫 주자인 0번은 무조건 4번째에 들어가기 때문에 1~8까지 next_permutation을 통해 순서를 돌려주고 solv..
-
백준(BOJ) 17837번 새로운 게임2 ( JAVA )알고리즘 풀이/백준(Boj) java 2020. 2. 12. 02:28
설명: https://100100e.tistory.com/275?category=804940 백준(BOJ) 17837번 새로운 게임 2 문제 : https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되.. 100100e.tistory.com 코드 ( JAVA )
-
백준(BOJ) 17837번 새로운 게임 2알고리즘 풀이/백준(Boj) 2020. 2. 11. 16:08
문제 : https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하나의 말 위에 다른 말을 올릴 수 있다. 체스판의 각 칸은 흰색, 빨간색, 파란색 중 하나로 색칠되어있다. 게임은 체스판 위에 말 K개를 놓고 시작한다. 말은 1번부터 K번까지 번호가 매겨져 있고, 이동 방향도 미리 정해져 있다. 이동 방향은 위, 아래, 왼쪽, 오른쪽 www.acmicpc.net 풀이 : i는 각각의 말이며 모든 i가 끝나면 turn은 1씩 더해진다. v에는 현재 좌표와 방향을 저장, order에..
-
백준(BOJ 1300) K번째 수알고리즘 풀이/백준(Boj) 2020. 2. 7. 17:49
제목 : https://www.acmicpc.net/problem/1300 1300번: K번째 수 첫째 줄에 배열의 크기 N이 주어진다. N은 105보다 작거나 같은 자연수이다. 둘째 줄에 k가 주어진다. k는 min(109, n2)보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 : 임의의 숫자 mid를 통해 K 번째 숫자인지 확인해보자 이때 순차적 탐색은 n이 10만 이므로 이분 탐색을 통해 해결하였다. 후보들은 모두 i*j 값이기 때문에 i의 배수들이고 min(mid/i, N)이 i번째 행에서 mid보다 작은 숫자들의 개수가 된다.
-
백준(BOJ) 17825번 주사위 윷놀이알고리즘 풀이/백준(Boj) 2020. 1. 23. 02:32
문제: https://www.acmicpc.net/problem/17825 17825번: 주사위 윷놀이 주사위 윷놀이는 다음과 같은 게임판에서 하는 게임이다. 가장 처음에는 시작에 말 4개가 있다. 말은 게임판에 적힌 화살표의 방향대로만 이동할 수 있다. 파란색 칸에서 말이 이동을 시작하는 경우에는 파란색 화살표의 방향으로 이동해야 하며 파란색 칸을 지나가는 경우에는 빨간 화살표의 방향대로 이동해야 한다. 게임은 1부터 5까지 한 면에 하나씩 적혀있는 5면 주사위를 굴려서 나온 수만큼 이동하는 방식으로 진행한다. 이동하려고 하는 칸에 말이 이미 있는 경우에 www.acmicpc.net 풀이: 윷놀이 판을 2차원 배열로 나타내 보았다. 이때 서로 이어질 수 있게 만들어 주고 방향을 표시하는 d 배열도 따로..
-
백준(BOJ) 16974번 레벨 햄버거알고리즘 풀이/백준(Boj) 2020. 1. 18. 14:45
문제 : https://www.acmicpc.net/problem/16974 16974번: 레벨 햄버거 상근날드에서 오랜만에 새로운 햄버거를 출시했다. 바로 레벨-L 버거이다. 레벨-L 버거는 다음과 같이 만든다. 레벨-0 버거는 패티만으로 이루어져 있다. 레벨-L 버거는 햄버거번, 레벨-(L-1) 버거, 패티, 레벨-(L-1)버거, 햄버거번으로 이루어져 있다. (L ≥ 1) 예를 들어, 레벨-1 버거는 'BPPPB', 레벨-2 버거는 'BBPPPBPBPPPBB'와 같이 생겼다. (B는 햄버거번, P는 패티) 상도가 상근날드에 방문해서 레벨-N 버거를 시켰 www.acmicpc.net 풀이 : 우선 hb [n] 은 n번째 레벨의 전체 재료의 수고 p [n] 은 p번째 레벨의 패티 수로 각 레벨의 전체 재..
-
백준(BOJ) 16957번 체스판 위의 공알고리즘 풀이/백준(Boj) 2020. 1. 16. 14:09
문제 : https://www.acmicpc.net/problem/16957 16957번: 체스판 위의 공 크기가 R×C인 체스판이 있고, 체스판의 각 칸에는 정수가 하나씩 적혀있다. 체스판에 적혀있는 정수는 모두 서로 다르다. 체스판의 각 칸 위에 공을 하나씩 놓는다. 이제 공은 다음과 같은 규칙에 의해서 자동으로 움직인다. 인접한 8방향 (가로, 세로, 대각선)에 적힌 모든 정수가 현재 칸에 적힌 수보다 크면 이동을 멈춘다. 그 외의 경우에는 가장 작은 정수가 있는 칸으로 공이 이동한다. 공의 크기는 매우 작아서, 체스판의 한 칸 위에 여러 개의 공이 있을 www.acmicpc.net 풀이 : 각각의 좌표는 8방향을 탐색하면서 가장 작은 좌표를 찾는다. 그리고 가장 작은 좌표를 부모 좌표로 나타낸다...
-
백준(BOJ) 17090번 미로 탈출하기알고리즘 풀이/백준(Boj) 2020. 1. 16. 03:15
문제 : https://www.acmicpc.net/problem/17090 17090번: 미로 탈출하기 크기가 N×M인 미로가 있고, 미로는 크기가 1×1인 칸으로 나누어져 있다. 미로의 각 칸에는 문자가 하나 적혀있는데, 적혀있는 문자에 따라서 다른 칸으로 이동할 수 있다. 어떤 칸(r, c)에 적힌 문자가 U인 경우에는 (r-1, c)로 이동해야 한다. R인 경우에는 (r, c+1)로 이동해야 한다. D인 경우에는 (r+1, c)로 이동해야 한다. L인 경우에는 (r, c-1)로 이동해야 한다. 미로에서 탈출 가능한 칸의 수를 계산해보자. 탈출 가능한 www.acmicpc.net 풀이 : 기본적으로 방문을 시작했을 때 ret = 0으로 두어서 방문할 수 없는 상태를 만든다. 이는 사이클으로 무한루프..