JAVA 130

[JAVA] 백준 15894 수학은 체육과목 입니다_기하

https://www.acmicpc.net/problem/15894 15894번: 수학은 체육과목 입니다 성원이는 수학을 정말 못 하는 고등학생이다. 수학을 못하는 대신 근성과 팔 힘이 뛰어난 성원이는 수학 시험에서 수학 지식을 사용하지 않고 근성과 체력을 사용해 문제를 푼다. 지난 시험에서 www.acmicpc.net 접근 : - 사각형의 갯수는 1부터 n까지 합한 갯수이다. - 사각형의 중복되는 부분은 1부터 n-1까지 합한 갯수이다. - 그러므로 사각형의 둘레의 길이는 4 X ( 1부터 n개 까지 합한 갯수) - 4 X ( 1부터 n-1 까지 합한 갯수)이다. - 4 X (1 부터 n-1) 는 서로 중복되면서 빼짐으로 0이되고, 결국 4n 만 남는다. - input이 10^9 이므로 long으로 받..

JAVA/Coding Test 2023.03.23

[JAVA] 백준 27323 직사각형_기하

https://www.acmicpc.net/problem/27323 27323번: 직사각형 정수 A, B 가 주어진다. 세로 길이가 A cm, 가로 길이가 B cm 인 아래와 같은 직사각형의 넓이를 cm2 단위로 구하시오. www.acmicpc.net 접근 : - 가로(B), 세로(A) 를 입력받는다. - A * B 연산하여 결과를 출력한다. 코드 구현 : import java.io.*; public class Main { public static void main(String[] srgs) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 결과 출력 System.out.print..

JAVA/Coding Test 2023.03.23

[JAVA] 백준 4779 컨토어집합_재귀함수

https://www.acmicpc.net/problem/4779 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net 접근 : - n 을 입력받는다. - 3^n 크기 만큼 - 문자를 연결한다. - 연결한 문자열을 1/3 ~ 2/3 길이 만큼 잘래내서 공백으로 바꾼다. - 앞 부분 0 ~ 1/3, 뒷부분 2/3 ~ n^3 에 대해서 같은 과정을 반복한다. - 1/3의 길이가 1 이하가 되면 더 이상 실행 할 수 없으므로 종료한다. 코드 구현 : import java.io.*; public class Main { s..

JAVA/Coding Test 2023.03.22

[JAVA] 백준 2580 스도쿠_백트래킹

https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 접근 : - 9X9 2차원 배열 형태의 숫자를 받는다.(board) - 숫자중 0 이 있으면 빈칸으로 간주하고 해당 하는 곳의 숫자를 탐색한다. - 숫자를 탐색할 때, 가로 ( ㅡ )한 줄에 중복되는 숫자가 존재하면 안된다. - 숫자를 탐색할 때, 세로( | ) 한 줄에 중복되는 숫자가 존재하면 안된다. - 숫자를 탐색할 때, 작은 사각형 (3X3)에 중복되는 숫자가 존재하면 안된다. - (0.0..

JAVA/Coding Test 2023.03.22

[JAVA] 백준 9663 N-Queen_백트래킹

https://www.acmicpc.net/problem/9663 9663번: N-QueenN-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.www.acmicpc.net 접근 :   - N 의 크기를 받는다.  - 세로의 길이가 N 이므로 N개의 Queen을 놓기위해선 각 줄마다 1개의 Queen 이 존재해야 한다.  - Queen을 놓을 때, + 모양으로 겹치는 Queen이 있는지 확인한다.  - Queen을 놓을 때, x 모양으로 겹치는 Queen이 있는지 확인한다.  - Queen을 n 개 까지 놓으면 카운트를 1 증가 시킨다.  - depth = Queen의 갯수 = y 좌표..

JAVA/Coding Test 2023.03.17

[JAVA] 백준 15650 N과M(2)_백트래킹

https://www.acmicpc.net/problem/15650 15650번: N과 M (2)한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해www.acmicpc.net  접근 :   - n 과 m 을 입력 받는다.  - 이전의 숫자를 보유(now)한다.  - Depth 를 내려갈 때, 이전의 숫자(now) +1 부터 수를 증가시킨다.   * 비오름차순을  코드에서, 위의 조건만 추가하면 된다. https://kjwit.tistory.com/entry/JAVA-%EB%B0%B1%EC%A4%80-15560-N%EA%B3%BCM-2%EB%B0%B1%ED%8A%B8%EB..

JAVA/Coding Test 2023.03.16

[JAVA] 백준 15560 N과M (4)_백트래킹

https://www.acmicpc.net/problem/15652 15652번: N과 M (4)한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해www.acmicpc.net  접근 :   - N 과 M 을 입력 받는다.  - 이전의 숫자를 보유(now)한다.  - Depth 를 내려갈 때, 이전의 숫자(now) 부터 수를 증가시킨다.   * 비오름차순을 제외한 코드에서 for 루프를 돌 때, 위의 조건만 추가하면 된다. https://kjwit.tistory.com/entry/JAVA-%EB%B0%B1%EC%A4%80-15651-N%EA%B3%BC-M-3%EB%B0%B..

JAVA/Coding Test 2023.03.16

[JAVA] 백준 15650 N과 M (1)_백트래킹

https://www.acmicpc.net/problem/15650 15650번: N과 M (2)한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해www.acmicpc.net 접근 :   -  최대 숫자 N 과 뽑는 갯수 M을 입력 받는다.  - 1 부터 N 까지 M 개를 뽑는다.  - 중복인 숫자는 뽑지 않는다.  - dfs 에서 depth를 내려갈 때, 중복인 숫자인 경우 더 이상 내려가지 않고 올라간다.   코드 구현 :   - 이너 클래스 사용import java.io.*;public class Main { static class Dfs { private Str..

JAVA/Coding Test 2023.03.09

[JAVA] 백준 15651 N과 M (3)_백트래킹

https://www.acmicpc.net/problem/15651 15651번: N과 M (3)한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해www.acmicpc.net  접근 :   - 최대 크기 N 과 뽑아야 하는 갯수 M 을 입력 받는다.  - 1부터 N까지 중복해서 M 개를 뽑는다.  - DFS(Depth-First Search)로 구현해서 결과를 출력한다.    코드 구현 :   - 이너 클래스 사용import java.io.*;public class Main { static class Dfs { private StringBuilder result; p..

JAVA/Coding Test 2023.03.09

[JAVA] 백준 1004 어린 왕자_기하1

https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 접근 : - 테스트 케이스 갯수 T를 받는다. (코드에서는 n으로 구현) - 출발점과 도착점을 받는다. - 행성수 n을 입력 받는다. (코드에서는 planet_num 으로 구현) - 출발점과 도착점의 좌표가 행성의 원의 방정식에 포함 여부를 확인하여 진입/이탈 횟수를 계산한다. - 발생할 수 있는 경우의 수는 다음과 같다. 코드 구현 : import java.io.*; public ..

JAVA/Coding Test 2023.03.08