본문 바로가기
  • "하나씩 기록하다보면 누군가에게 도움이 되지 않을까"
728x90

Java10

[SWEA] [자바] 1953. 탈주범 검거 문제 출처 swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 풀이 접근 ㆍ 파이프 리스트 정리 ※ 상 : 0 , 하 : 1 , 좌 : 2 , 우 : 3 - 1번은 상하좌우 : "0123" - 2번은 상하 : "01" - 3번은 좌우 : "23" - 4번은 상우 : "03" - 5번은 하우 : "13" - 6번은 하좌 : "12" - 7번은 상좌 : "02" ㆍ 현재 탈주범의 위치를 시작으로 BFS탐색 시작 ※ BFS 탐색 시 소요 시간을 기준으로 L까지 잘.. 2021. 4. 6.
[SWEA] [자바] 1949. 등산로 조성 문제 출처 swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PoOKKAPIDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 풀이 접근 ㆍ 가장 높은 봉우리를 리스트에 저장 ㆍ 모든 지도의 위치에서 1부터 K까지 등산로를 깎음 ㆍ 저장해둔 가장 높은 봉우리에서 출발해서 가장 낮은곳 까지 이동하는 거리를 BFS로 체크 ㆍ 가장 멀리 이동한 거리를 저장하고 최대값 산출을 위해 비교 후 출력 2. 소스코드 github.com/Choi-JinYeong/Solve_Alg/tree/master/Solve_Algs_SWEA/src/.. 2021. 4. 4.
[백준] [자바] 3190번 : 뱀 출처 : www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 1. 풀이 접근 ㆍ 현재 바라보는 방향으로 이동 (8:상, 6:우, 4:좌, 2:하) ※ 아직 좌표는 업데이트하기 전! 앞으로 향할 위치에 대해서 다른 변수를 이용해 저장 ㆍ 지도(범위 안에 있는지) 체크 ==> flag1 ㆍ 뱀이 너무 길어서 몸끼리 부딛쳤는지 확인 ==> flag2 ㆍ 조건문 확인 1) flag1 == true && flag2 == true - 머리가 있는 위치에 사과가 있는지 확인 == .. 2021. 4. 1.
[백준] [자바] 14888번 : 연산자 끼워넣기 문제 출처 www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 1. 풀이 접근 ※ 연산자 순서에 곱하기 나누기 먼저 더하기 빼기 나중에 이런식이 아님! 기존의 법칙을 따라가지 않고 무조건 순서대로 진행 입력을 받아서 숫자들 따로 배열에 저장, 더하기 빼기 곱하기 나누기는 각 1,2,3,4 숫자로 매칭 더하기 빼기 곱하기 나누기 개수에 대한 순열(순서가 있는 경우의 수) 계산 순열 순서에 따라 입력된 수들을 .. 2021. 3. 21.
[백준] [자바] 15683번 : 감시 문제 출처 www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 1. 풀이 접근 ㆍ CCTV는 최대 8개 까지 설치 할 수 있음. 가로 또는 세로 방향으로 회전 가능 - 최대 경우의 수가 4^8 나옴. ㆍ 경우의 수에 따라 카메라 특성에 맞게 탐색 가능한지 확인 - 벽을 만나거나, 경계 밖으로 나가면 취소 ※ 나는 완전 하드코딩해서 모든 경우의 수 카메라 종류 5대, 방향 4개에 맞추어 구분해서 탐색 진행하게 코드 짬. 무식하게 짬. ㆍ 탐색 다 되면 .. 2021. 3. 20.
[백준] [자바] 14499번 : 주사위 굴리기 문제 출처 www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 1. 풀이 접근 ㆍ주사위 모양을 배열로 정의함 - 0 뒤 0 - 좌 상 우 - 앞 - 하 ※ (주의) 입력을 받을 때 보통 생각하는 x, y 축이 바뀌어 있음. ㆍ주사위 이동 - 이동하면서 현재 주사위 값을 임시 변수에 저장하고 이동할 때마다 바뀌는 값들을 매칭해서 넣어줌 - if (이동하려고 하는 곳이 벽이면) * 이동 안함, 결과값.. 2021. 3. 19.
[백준] [자바] 14889번 : 스타트와 링크 문제 출처 : www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 1. 풀이 접근 조합으로 nCr 구함. n은 입력으로 주어지고 r은 n/2임. 나는 home팀, away팀으로 구분하였음. (Ex. 만약 사람수가 4면 2로 조합을 구하고 나머지 2가 상대팀, 사람수가 6이면 3으로 조합을 구하고 나머지 3이 상대팀 순) home팀, away팀에 대하여 점수를 다 더해야됌 (Ex. 1,2 3,4 로 팀이 나누어졌을 경우 S12와 S21 둘다 더해야됌 away 도 마찬가지) (Ex. 1.. 2021. 3. 18.
[백준] [자바] 14891번 : 톱니바퀴 문제 출처 www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 1. 풀이 접근 회전하기 전에 미리 N극 S극에 대한 상태를 저장해 둠 회전할 때 기준점을 기준으로 왼쪽/오른쪽 나눠서 탐색 동시에 다 회전 ※ 소스 내에 과정에 있어서 이해하기 위해 간단한 주석 달아둠 2. 소스코드 github.com/Choi-JinYeong/Solve_Alg/blob/master/Solve_Algs/src/Git_BJ_14891/Main.java Choi-JinYeong/So.. 2021. 3. 17.
[백준] [Java] 17822번 : 원판 돌리기 문제 출처 : www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 1. 풀이 접근 원판 회전해야 할 배수 계산 원판 회전 인접 숫자 찾기 (원판이 회전하기 때문에 x축 기준으로 끝에 도달하면 인덱스 변경해줌) 인접 숫자 있을 시 인접 숫자 삭제, 인접 숫자 없을 시 평균값 구한 뒤 평균보다 크면 +1, 작으면 -1 2. 소스코드 github.com/Choi-JinYeong/Solve_Alg/blob/master/Solve_Algorithm/src.. 2021. 2. 19.
[백준] [Java] 14502번 : 연구소 출처 : www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 1. 풀이 접근 조합으로 벽 설치 할 수 있는 경우의 수 산출 벽 설치 후 바이러스 위치 기준으로 BFS 검색 이동 가능할 때마다 바이러스 숫자 2로 변경 더 이상 탐색 불가능 시 0 개수 산출 후 최대값 비교 2. 소스코드 github.com/Choi-JinYeong/Solve_Alg/tree/master/Solve_Algs/src/Sol_BJ_14502 Choi-JinYeong/Solve_Alg 알고리즘 풀이... 2021. 2. 18.
728x90