https://www.acmicpc.net/problem/10811 각 바구니를 놓을 공간인 배열을 N 개의 개수만큼 생성한다.가장 왼쪽이 첫번째 바구니, ... 가장 마지막이 N 번째 바구니이기 때문에, 각 배열의 공간에 해당하는 순번의 바구니를 배치한다.M 개의 줄만큼 반복하여 바구니를 섞는다. 역순을 고려하여 코드를 구현한다. 1 2 3 4 바구니 4개가 있을 경우에 1 4부터 변경을 해야한다고 생각하면 i = 1, j = 4이다.아래와 같이 되어야 한다.a[1] = a[4] a[2] = a[3] a[3] = a[2] a[4] = a[1] i 번째 바구니와 j 번째 바구니가 역순이 되어야 하기 때문에 두 바구니가 교환된다고 보면 된다. 이해가 안가면 위에 작성해놓은 순서를 보면 된다. 즉..
모음의 개수를 구하는 백준 알고리즘 문제이다. 거의 다 풀었는데 계속 아래와 같이 나왔다 ..1. sum 값은 결국 나옴,2. 디버깅 모드로 확인해보니 How / are / you 이런식으로 따로따로 단어별로 값을 확인하고 있었다.그럼 line 으로 문장을 scan 해오도록 수정해야한다. import java.util.Scanner;public class B1264 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char ch; char[] array = {'a','e','i','o','u'}; int sum = 0; while(true){..
문제 해석 임의의 숫자를 입력해 입력한 숫자만큼의 줄까지 별을 출력해야 한다. 별의 개수는 한개씩 늘어난다. 공백의 개수 + 별의 개수 = 입력한 임의의 숫자이다. 문제 풀이 1. 스캐너를 사용해 임의의 숫자 값을 입력받는다. Scanner sc = new Scanner(System.in); int a = sc.nextInt(); 2. 선언값을 외부에 입력해 전역변수로 사용할 수 있게 한다. int i,j,k; 3. 입력한 임의의 수 (a) 줄만큼 반복하는 for 문 만약 a가 5라면, i = 5,4,3,2,1로 5번 반복한다. for (i = a; i > 0; i--) { ... } 4. 공백 출력하기. 별은 1부터 시작하니 k는 a - 1부터 시작해야한다. a = i이니, i가 하나씩 늘어나기 때문에..
StringTokenizer는 Java 프로그래밍 언어에서 제공되는 클래스로, 문자열을 지정한 구분자(delimiter)를 기준으로 분리해주는 역할을 합니다. 주로 텍스트 처리 작업에서 사용되며, 문자열을 특정 구분자를 기준으로 여러 개의 토큰(token)으로 분리할 때 유용합니다. StringTokenizer tokenizer = new StringTokenizer(inputString, delimiter); 여기서 inputString은 분리하고자 하는 문자열이고, delimiter는 문자열을 분리할 때 사용할 구분자입니다. 예를 들어, 아래 코드는 쉼표로 구분된 문자열을 StringTokenizer를 사용하여 분리하는 예시입니다: String input = "apple,banana,grape,ora..
처음에 작성한 코드는 다음과 같다. 그런데 런타임 에러가 나서 질문 게시판의 힌트를 보니, 10의 1000승은 int에 담을 수 없을 정도로 큰 수입니다. 라고 한다. 대충 int 보다 훨씬 큰 수를 담을 수 있어야 한다는 뜻으로 이해했다. import java.util.Scanner; public class Main { public static void main(String[] args) { int n,m; Scanner sc = new Scanner(System.in); n = sc.nextInt(); m = sc.nextInt(); System.out.println(n/m); System.out.println(n%m); } } 하지만, long을 썼지만 long 도 런타임 에러가 발생했다. 그러면,..
백준에서는 제출해야하는 양식이 정해져 있다. 이 양식에 맞지 않으면 맞은 코드도 틀렸다고 인식한다. 백준 코드 제출하는 방법 1. Class 명 Main으로 변경 백준에서는 클래스를 Main.java 로 인식하기 때문에 클래스명을 Main으로 바꿔줘야 한다. 2. 필요없는 sysout을 전부 지우기 백준에서는 정답 이외의 출력은 전부 오답으로 체크한다. 3. 맨 위 package 지우기 위의 양식을 지우면 다음과 같은 결과가 나온다. 위의 코드는 내가 java 에서 체크할 때 작성한 것이고, 밑의 코드는 내가 백준에 제출한 코드이다. 양식에 맞지 않게 제출하면 전부 틀렸다고 나오니, 꼭 요구한 문제의 결과에만 sysout을 붙여야한다. 자바에서 작성한 코드 package julyW5; import jav..