코테 9

백준[1213] -팰린드롬 만들기

팰린드롬이란 거꾸로 읽어도 제대로 읽는 것과 형태가 같은 문장을 이야기한다 (내이름은 이효리~ 거꾸로해도 이효리~) 진짜 작은 실수로 조금 오래걸렸다. 그리고 Collection을 많이 써서 시간 초과가 날까 걱정했지만 이정도는 괜찮은 것 같다. 검색해보니 반례에 대해서 예민한 문제인 것 같다. 홀수개인 문자가 포함되어 있어도 이를 가운데 배치시키면 팰린드롬이 가능하다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) throws Ex..

백준[2805] java -나무자르기

이 문제에서 알아야할 점은 두가지이다. 1.이분탐색으로 풀 것 2.long타입 선언 일단 문제를 보자 이전에 공부했던 이분탐색을 생각해냈다. 특정한 값을 구해야할 때 그 시간을 줄여주는 좋은 방법이다. 이문제에서 long타입을 써야 하는 이유는 나무의 높이가 최대 1,000,000,000이기 때문이다 int형으로는 계산할 수가 없다. import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n= sc.nextInt(); long height = sc.nextInt(); long[] ..

백준[1244]- 스위치 켜고 끄기

진짜 문제는 끝까지 읽어야 한다. 쉬운 문제였지만 출력 조건을 제대로 안읽어서 자꾸 출력 오류가 났었다.... 반성반성 문제 그대로 구현만하면 되는 쉬운문제다. import java.util.*; public class Main { private static int[] arr; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); String inputStr = sc.nextLine(); String[] inputArr = (inputStr).split(" "); arr = new int[n+1]; arr[0]=0; for(int i=0;i

백준[1654]-랜선자르기

이분 탐색 연습을 위해 푼 문제! 이분 탐색을 알기만 한다면 정말 쉬운 문제이다. 이분 탐색을 한두번밖에 경험해보지 않아서 아직 정확히 감은 오지 않는다. 아직까지의 생각은... 무언가 식을 세우는 것 보다 값을 하나하나 대입해서 답을 찾아야할 때 처음부터 다 찾으면 너무 많은 탐색을 해야하니 반으로 쪼개가며 탐색 횟수를 줄이는 방식인 것 같다. public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int num = sc.nextInt(); long result =0; long need = sc.nextInt(); long[] arr = new long[num]; long sum =0;..

코드업[3321]- 최고의 피자🍕

처음에 문제를 잘못읽어서 '엥 그냥 더하면 되는거 아닌가'했다! 그럴리가 없지! 토핑의 가격이 모두 같으니, 토핑의 칼로리가 크면 클수록 1달러 당 열량의 수가 클 것이다 ex) 토핑 A: 칼로리 200 가격 2 --> 1달러당 열량: 200/2=100 토핑 B: 칼로리 10 가격 2 --> 1달러당 열량: 10/2= 5 그러니 칼로리가 높은 토핑부터 더하면서 [1달러당 열량의 수]를 비교해보면 된다. import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Scanner; public class Main { public static v..