목록알고리즘 (10)
종식당

https://www.acmicpc.net/problem/7562문제설명먼저 첫 번째 줄에 테스트 케이스의 개수를 입력받고 이 테스트 케이스만큼 차례대로 체스판의 크기, 나이트가 현재 있는 칸의 좌표, 나이트가 이동하려는 칸의 좌표를 입력받는다.각 테스트 케이스마다 나이트가 최소 몇번만에 현재 칸에서 목표 칸 까지 이동하는지 구하면 된다.제출코드 import java.util.*;import java.io.*;public class Main { static int l; static int start_x, start_y, end_x, end_y; static int [] dx = {-2,-1,1,2,-2,-1,1,2}; static int [] dy = {1,2,2,1,-1,-..

문제설명1월부터 12월까지의 실적을 첫 줄에 정수로 입력받고 두 번째 줄에 질의의 개수를 입력받는다. 그 후 두 개의 달을 입력받는데 L월부터 R월까지의 총판매실적을 구하여 출력하면 된다. 제출코드 import java.util.Scanner;public class SalesPrefixSum { // 누적합을 계산하는 메서드 public static int[] calculatePrefixSums(int[] sales) { int[] prefixSums = new int[sales.length + 1]; // 누적합 배열 (0으로 초기화됨) for (int i = 1; i 코드설명이 문제는 딱 보는 순간 누적합이 떠올랐다. 먼저 12개의 실적들을 sales배열에..

문제 설명첫째줄에 문자를 입력받으면 중복된 문자를 제거하고 출력하면 되는 문제이다. 제출 코드import java.util.*;public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.next(); String answer = ""; for(int i = 0; i 코드 설명indexOf()함수를 통해서 문자열에서 문자가 나오는 첫번째 index를 알 수 있다. 이 index와 for문을 돌면서 i의 값과 일치하면 해당 문자가 문자열에서 첫번째 나온거라는 뜻이니 이 문자들만 따로 저장해서 출력하면 중복을 제..

문제 설명첫째줄에 숫자를 입력받으면 이 숫자만큼 문자열을 입력받는다. 입력받은 문자열중에서 특수문자는 그대로 내버려두고 알파벳만 뒤집어서 출력하면 된다. 제출 코드import java.util.*;public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.next(); String answer = ""; char [] arr = str.toCharArray(); int lt = 0, rt = str.length() - 1; while(lt 코드 설명문자를 거꾸로 뒤집는 문제는 이전처..

문제 설명문자열을 여러 개 입력받은 후에 가장 긴 문자열을 출력하면 된다. 같은 길이의 문자열이 여러 개일 경우에는 가장 앞에 있는 문자열을 출력한다.제출 코드import java.util.*;public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String answer = ""; int m = Integer.MIN_VALUE; String str = sc.nextLine(); String [] arr = str.split(" "); for(String item : arr){ int le..