BOJ333 [BOJ] 16926 배열돌리기1 - JAVA 1. 문제 https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 크기 N*M배열을 반시계 방향으로 R번 회전시킨 결과를 출력한다. 2. 풀이 N*M 배열을 R번 회전시킨다. 한 번 회전시킬 때마다 가장 바깥쪽에서부터 안쪽까지 한 줄 한 줄 돌린다. 따라서 한 번의 회전 당 turnArr(회전메서드)를 부르는 횟수는 더 작은 변의 절반만큼이다. 어떤 사각형이.. 코딩테스트/BOJ 2022. 2. 12. [BOJ] 2563 색종이 - JAVA 1. 문제 https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 100*100 도화지에 10*10 색종이를 붙인다. 색종이가 붙은 면적을 계산한다. (겹친 면적은 한 번만 계산돼야 함) 2. 풀이 처음에는 색종이의 개수*100 - 겹친 면적 코딩테스트/BOJ 2022. 2. 11. [BOJ] 2564 경비원 - JAVA 1. 문제 https://www.acmicpc.net/problem/2564 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 1. 어떤 경계에 있는지, 경계의 어느 위치에 있는지를 입력 받음 2. 북쪽, 남쪽은 왼쪽에서부터, 동쪽, 서쪽은 위에서부터 떨어진 거리를 입력 받음(문제 풀 때 중요) 3. 마지막에 주어지는 동근이의 위치와 나머지 상점들 간의 최단거리를 구해야 함 2. 풀이 북쪽 맨 왼쪽을 0으로 삼고 그 나머지를 거기에 맞춰 다시 좌표를 만들면 되는 문제였다. 북쪽 0,0을 기준으로 직선으로 만드는 법 .. 코딩테스트/BOJ 2022. 2. 11. [BOJ] 2578 빙고 - JAVA 1. 문제 https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 1. 5*5 빙고판 2. 모두 자연수, 1~25까지 적혀있음 3. 빙고는 가로, 세로, 대각선 두개 가능. 세 개 이상이면 끝 4. 끝날 때 사회자가 몇 번째 수를 불렀는지 출력 2. 풀이 생각한 방식은 다음과 같다. 1. 빙고판 이차원 배열에 저장 2. 사회자가 숫자를 부를 때마다 빙고 지우는 함수 호출 3. 빙고판에서 숫자를 찾아 그 자리를 0으로 바꿈 4. 바꾼 자리(x,y)를 기준으로 새로 빙.. 코딩테스트/BOJ 2022. 2. 11. [BOJ] 3053 택시기하학 - JAVA 1. 문제 https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 2. 풀이 원=한 점에서부터 같은 길이를 가진 점들의 집합 따라서 택시 기하학에서의 원은 이런 모양을 가지게 된다. 정리하면, 택시기하학에서 원 넓이는 2*R*R이다. import java.util.Scanner; public class BOJ_3053_택시기하학 { public static void main(String[] args) { int R = new Scanner(System.in).nextInt(.. 코딩테스트/BOJ 2022. 2. 10. [BOJ] 2605 줄세우기 - JAVA 1. 문제 https://www.acmicpc.net/problem/2605 2605번: 줄 세우기 점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을 www.acmicpc.net 2. 풀이 다른 방식으로 풀어보려다 그냥 문제가 하라는 대로 따라가보니 쉽게 풀렸다. (내 원래 순서-받은 카드 숫자)를 인덱스로 놓고 LinkedList에 add했다. 값은 내 원래순서+1이다. (문제가 1부터임) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; impor.. 코딩테스트/BOJ 2022. 2. 9. [BOJ] 2309 일곱난쟁이 - JAVA 1. 문제 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 2. 풀이 답 여부를 반환하는 함수를 만들어 재귀호출을 했다. 7번째 반복이고 합계가 100이라면 true, 그 나머지는 false를 리턴했다. 나중에 한꺼번에 출력하기 위해 find[] 배열을 사용했다. 현재 idx부터 총 난쟁이의 인원수(9)까지 반복하고, 현재 idx를 포함해도 나머지에서 답을 찾을 수 있는지 확인한다. 그 중에 답이 있다면 true를 리턴하고 함수를 끝낸다. import .. 코딩테스트/BOJ 2022. 2. 9. [BOJ] 2493 탑 - JAVA 1. 문제 2. 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class BOJ_2493_탑 { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(in.readLine()); StringTokenizer st = new StringTok.. 코딩테스트/BOJ 2022. 2. 7. [BOJ] 5430 AC - JAVA 1. 문제 2. 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Deque; import java.util.StringTokenizer; public class BOJ_5430_AC { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(in.readLine()); Stri.. 코딩테스트/BOJ 2022. 2. 7. [BOJ] 1021 회전하는 큐 - JAVA 1. 문제 2. 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Queue; import java.util.StringTokenizer; public class BOJ_1021_회전하는큐 { public static void main(String[] args) throws IOException { //입력 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokeni.. 코딩테스트/BOJ 2022. 2. 7. [BOJ] 10866 덱 - JAVA 1. 문제 2. 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Deque; import java.util.StringTokenizer; public class BOJ_10866_덱 { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(in.readLine()); Dequ.. 코딩테스트/BOJ 2022. 2. 7. [BOJ] 1966 프린터큐 - JAVA 1. 문제 2. 풀이 생각한 방식은 아래와 같다. 0. idx : 찾으려고 하는 요소의 인덱스. 문서들을 이동할 때마다 매번 바꿔줘야 한다. order : 지금까지 몇 장 프린트했는지. 맨 앞 문서를 프린트할 때마다 +1한다. 1. 정렬한 nums를 뒤에서부터 돌아가면서 체크한다. (Arrays.sort(nums,Collections.reverseOrder())를 사용하면 앞에서부터 체크해도 된다. 그냥 타입 바꾸기 싫어서 이렇게 했다..) 2. 체크할 때, 해당 nums[i] (이하 num이라 함) 이 queue.peek()과 같아질 때까지 맨 앞 요소를 뒤로 보낸다. 이 때, idx가 0이면 다음 idx는 큐의 사이즈-1가 된다. 0이 아니면 그냥 -1. 3. num==queue.peek()이 되면 .. 코딩테스트/BOJ 2022. 2. 7. 이전 1 ··· 24 25 26 27 28 다음