반응형

코테 19

친구인가?

이 코드는 재귀를 사용하여 서로의 상관 관계를 확인하면서 서로 연관이 되어있다면 배열을 통해서 서로에게 연관이 가는 곳의 인댁스로 옮겨주는 코드이다. import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue; import java.util.Scanner; public class Main { static int dis[]; public static void Union(int a, int b) { int da = Find(a); int db = Find(b); if(da!=db) dis[da]=db; } private static int Find(int a) { if(dis[a]==a)return a; else re..

코테 2023.03.06

결혼식

이 문제도 마찬가지로 도착하는 시간을 기준으로 나눈 후 떠나는 시간과 도착시간이 같을경우 정렬을 할때 떠나는 시간을 더 우선순위로 줘서 들어오면 cnt++ 나가면 cnt --를 통해 풀면된다. import java.io.IOException; import java.math.BigInteger; import java.util.*; class Time implements Comparable{ public int time; public char state; Time(int time,char state){ this.time = time; this.state=state; } @Override public int compareTo(Time o) { if(this.time==o.time)return this.stat..

코테 2023.03.01

DP-회의실 배정

이번에도 이중 배열의 정렬의 문제였다. 저번 문제와 동일하게 이번에는 끝나는 시간을 기준으로 정렬을 한후 바로바로 스케줄링 할 수 있게 처리해서 문제를 해결했다. 아래 그림을 참고하면 이해가 편할 것이다. import java.io.IOException; import java.math.BigInteger; import java.util.*; public class java { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int arr[][] = new int[sc.nextInt()][2]; for(int i=0;i=min){ min=arr[i][1]; count++; } } S..

코테 2023.02.28

DP-씨름 선수

입력 예시: 5 -->사람 수 172 67 --> 키 몸무게 183 65 180 70 170 72 181 60 import java.util.*; public class java { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int arr[][] = new int[sc.nextInt()][2]; for(int i=0;i=0;i--){ if(arr[i][1]>max){ max=arr[i][1]; count++; } } System.out.println(count); } } 처음에 이중 배열과 같은 방법을 푸려고 했더니 .. 시간초과 더 생산적인 방법을 했더니 정답은 정렬이였다...

코테 2023.02.27

큰 수 A+B

https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 생각보다 간단한 문제이지만 int범위를 생각하면 쉽지 않은 문제이다. 처음에 double형으로 바꾸고 casting을 통해 출력하려 했지만 double과 long을 뛰어넘는 숫자라 java math.BigInteger;를 import를 해 문제를 해결하였다. BigInteger란 System.out.println("덧셈(+) :" +bigNumber1.add(bigNumber2)); System.out.println("뺄셈(-) :" +bigNumber1.subtract(bigNumber2)); Syste..

코테/백준 2023.02.24

코딩은 체육과목입니다-25314

https://www.acmicpc.net/problem/25314 25314번: 코딩은 체육과목 입니다 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { final BufferedReader br = new BufferedRead..

코테 2023.02.23

달팽이는 올라가고싶다 -2869

https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 달팽이가 하루동안 +n만큼 올라갈 수 있고 -m만큼 내려온다 V에 도달할 때까지 몇번 올라가야하는가. 수식때문에 애를먹었다 왜냐하면 보통(V)/(n-m)이라고 생각했지만 마지막엔 +n만큼올라가고 내려오지 않기때문에 V-M / N-M으로 해야하고 나누어 떨어지지 않을 경우 남아있을 경우이기 때문에 한번더 올라가야하기 때문에 +1을 해줘야한다. import java.io.BufferedReader; import java.io.InputStreamReader;..

코테/백준 2023.02.23

기본수학 -벌집

https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 그림의 숫자의 위치를 찾는 문제로 1이면 첫번째 2~7사이면 2번째 즉 둘러쌓인 겹의 층을 말한는 문제입니다. 문제를 해결하기 위해서 어떤 패턴이 있는지 확인해봤고, 늘어나는 숫자가 1 7 19 37이기에 보니 6의 배수만큼 증가한다는 것을 확인했고, 이를 코드로 구현해 봤습니다. import java.util.Scanner; public class Main { public static void main(..

코테/백준 2023.02.22
반응형