목록언어/JAVA
Step-by-Step

https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 다섯 종류의 CCTV가 있고 모두 각도를 조절할 수 있다. 사각지대를 최소화할 수 있는 경우의 수를 구하는 것이다. 모든 경우를 찾기 위해 DFS로 탐색했다. 1,2,3,4,5번이 각각 탐색 방향이 다른데, 한 방향으로 탐색하는 메소드를 구현해서 방향에 맞게 돌려주고, 수에 맞게 호출해줬다. package BOJ_SS; import java.util.*; public class boj1..

https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 와 .. 노트에 열심히 풀어가면서 썼던 문제ㅋㅋㅋ 가장 중요한 건 톱니바퀴 4개는 동시에 돌아간다는 것이다!!! 나는 2번째 톱니바퀴가 돌면.. 양 옆으로 한개씩 보고 돌릴지 안돌릴지 판단하고 구현했는데, 테케가 다 틀려서 몹시 당황했다.. 동시에 돌아가는것만 잘 알면 금방 풀릴듯! 각 톱니 데이터는 2차원 배열로 만들어서 저장해뒀고, 12시 방향이나 3시,9시 방향은 idx로 저장해서 반시..
https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 생각보다 너무 어려웠던..문제.. 생각해야하는 경우가 너무 많다. 일단 행과 열 각각 따로따로 탐색해야 하는데, 좌→우 / 우→좌든 상→하/하→상이든 상관없다. (어차피 오르막이랑 내리막 조건이 같기 때문) 문제에 나와있는 조건에 맞게 길 탐색만 하면 나머지는 상관없다. 1. 다음칸이 같은 높이면 그냥 전진 2. 다음칸이 1칸 낮은 경우, 다다음칸이 똑같이 1칸 낮은지 확인 후 전진 (내리막 사용가능) - 이 때, sl..

https://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 지문을 잘 읽은 후에 풀어야 한다고 느낀 문제! 예제 2번에서 6개의 팀원이 있을 때, 0,1,3번이 팀을 이룬다면 스타트팀은 해당 부분의 합으로 능력치로 결정된다. 자동으로 링크팀은 2,4,5번으로 해당 부분의 합이다. Sii는 항상 0이기 때문에 i==j일때는 값을 더하지 않았고 스타트팀에 들어간 팀원은 ArrayList에 담아놓고 링크팀 계산에 엮기지 않도록 하였다. package BOJ_SS; import ja..
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net DFS 방법을 익힐때 접했던 문제이다. ※ 포인트 - 3번째 줄에서 입력값으로 받는 사칙연산의 개수는 op로 선언된 int[] 배열에 저장 - dfs를 실행하면서 op[i] 값이 0보다 크면(사용할 수 있는 연산자가 남아있을 경우) 반영하여 재귀호출 - 이때 op[i]는 한 번 사용했으므로 1감소 시켜줌 - cnt가 n일때 (사칙연산 n-1개..
https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 첫줄에는 행과 열의 수를 알려주고, 둘째줄부터는 행렬의 값들을 알려준다. 그림은 0과 1로 이루어져있으며, 0은 공백 1은 그림 이다. BFS 풀이방식을 이용했다! 문제풀이는 다음과 같다. import java.io.IOException; import java.util.*; public class Main { static int[] dx = {1,-1,0,0}; static int[] dy = {0,0..
https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 일상에서 볼 수 있는 유료주차장의 계산 방식 똑같이 적용하면 된다. 단, 나갔다 다시 들어와도 기본요금을 적용하지 않고, 시간 누적 후 한 번에 정산하는 방식으로 진행된다. 시간 단위는 모두 분으로 바꿈 ※ 문제 풀이에 사용된 필드 1. 주차장에 들어온 모든 차량 저장(중복X) : ArrayList - cars 2. 현재 들어온 후 나가지 않은 차량 : HashMap - parking (차번호, ..
https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 양의 정수 n을 진수 k로 바꿨을 때, 0을 경계선으로 각 블럭마다 있는 소수(Prime number) 구하기이다. 문제풀이 방식은 다음과 같다. 1. 정수 n을 k 진수로 바꾼 String 문자열 구하기 2. 문자열을 0을 기준으로 나눔 (※ 빈 문자열 있음 주의) 3. 각 문자열이 소수인지 판별 class Solution { public int solution(int n, int k) { St..