공략 순서 1. N바구니는 1번 부터 N번까지 번호가 매겨져 있다. -> N = 5라면 "1, 2, 3, 4, 5" 2. 바구니에는 공이 1개씩 들어있음 3. 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. -> 2번 바구니면 2 4. 바구니에 담긴 공을 교환 의 형식으로 코드를 작성할면 되겠습니다. import java.util.Scanner; /** * Main */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc.nextInt(); int[] arr = new int[N]; int temp; //..
문제 이해 이번 문제는 한수를 찾는 문제였습니다. 문제의 설명대로 한수는 각 자리가 등차수열 이루는 수이고 등차수열은 연속된 두개의 수가 일정한 수열을 말합니다. 예를 들어 753 같은 경우 각 자리를 7, 5, 3으로 보고 -2씩 일정하게 감소하고 있습니다. 그리고 여기서 -2를 공차라고 합니다. 다른 예로는 222이 있는데 이 경우는 공차가 0입니다. 이러한 수를 한수라 하고 이 한수의 개수를 찾는 문제입니다. 여기서 1~9까지는 기본적으로 비교할 숫자가 없으므로 한수로 보는듯 합니다. 거기에 더해 10~99까지도 공차는 존재하지만 비교할 대상이 없으므로 한수로 치는거 같습니다. (문제에서 110을 입력했는데 99가 나온걸로 보아 1~99까지를 한수로 친거 같습니다.) 이 전재를 기본으로 깔고 문제를..
이번에 풀어볼 문제는 OX퀴즈 풀이입니다. 해당 문제를 풀면서 데이터를 변환하는 과정에서 시행 착오를 겪었습니다. 풀고 나면 쉬운 문제인 것 같습니다. 해당 문제에 대한 풀이 입니다. 1. 먼저 테스트 케이스의 개수가 주어져야 하기 때문에 테스트 케이스 개수를 입력 받습니다. 2. 저는 String 배열인 tcase 배열의 크기를 테스트 케이스 개수로 설정하였습니다. 3. tcase 배열안에 OX 예제를 입력 받습니다. 4. 입력받은 데이터를 가공해야 하는데 저는 char 형태로 1개씩 뽑아 O인지 비교를 했습니다. 5. 그 후 데이터가 O이면 plus = plus + 1 해주고 count += plus 처리를 했습니다. 그러면 O가 한개이면 +1이고 2개이면 plus는 +2가 되고 count + plu..
안녕하세요. 이번에는 백준 1546번 풀이 문제를 가져 왔습니다. 해당 문제입니다. 일단 이해를 돕기 위해 글로 풀이를 써보겠습니다. 1. 먼저 첫째 줄에 시험 본 과목의 개수 N이 주어진다라고 했으니 입력받는 값이 있어야 합니다. 2. 2번째 줄에 입력을 한줄로 한 것으로 보아 배열에 담아 주겠습니다. int n = in.nextInt(); int[] obj = new int[n]; 그러면 해당 형태로 담아질 것 같습니다. 3. 그 뒤에 for문으로 입력 값을 배열에 담아주고 4. 최대값을 골랐다라고 했으니 이제 최대값을 구해보겠습니다. 최대값도 마찬가지로 배열에서 하나씩 꺼내서 for문으로 비교해주면서 구해줍니다. 5. 최대값 비교가 완료되었으면, 모든 점수/M(최대값)*100으로 고쳤다고 쓰여있습니..
안녕하세요 백준 알고리즘에서 정답을 제출할 때 에러에 대해 알아보겠습니다 JAVA를 처음으로 사용해서 문제를 제출할 때 밑에와 같은 에러가 뜨는 것을 한 번씩 다 경험하셨을겁니다 error: class P_01_HelloWorld is public, should be declared in a file named P_01_HelloWorld.java 이렇게 간단한 코드인데도 내가 잘 못 작성해서 에러가 나는건가?? 별 생각이 다 듭니다 ㄷㄷㄷ;; 백준 알고리즘을 처음 썼을 때의 무수한 에러... Hello World가 이렇게 어려운 거였다니;; 원인은 간단합니다 백준알고리즘에서는 JAVA를 제출할 때 class이름을 Main으로 설정을 해야합니다 Main으로 변경 후 다시 제출하면 됩니다 public cl..