안녕하세요. 이번에 해볼건 1차원 배열 문제입니다. 1. 예제 입력은 1~30의 숫자 중 출석한 인원의 숫자를 입력합니다. 2. 출력은 입력하지 않은 숫자가 나오면 됩니다. 다양한 방법이 있겠지만, 저는 boolean을 사용하여 해결하였습니다. package coding; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 입력할 수 있게 scanner 선언 boolean stuChk[] = new boolean[31]; // 출석한 학생을 확인하기 위해 boolean 형태로 배열 선언 for(int i = 0; i < 28; i+..
공략 순서 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; //..
https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. www.acmicpc.net 문제 문제의 난이도는 어렵지 않다. ※ 주의할 점 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있다. a ~ z 를 모두 출력하여 주어진 문자열에 대해 해당 문자가 처음으로 나오는 위치를 출력한다. 위치는 0 부터 시작한다. 즉 문자열 첫 단어는 위치가 0 이다. 2가지 풀이 방법을 제시한다. ..
해당 문제는 너무 쉬운 문제입니다. package test; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); String num = sc.next(); int sum = 0; for(int i = 0; i < N; i++) { sum += (int)num.charAt(i) - '0'; } System.out.println(sum); } }
문제 이해 이번 문제는 한수를 찾는 문제였습니다. 문제의 설명대로 한수는 각 자리가 등차수열 이루는 수이고 등차수열은 연속된 두개의 수가 일정한 수열을 말합니다. 예를 들어 753 같은 경우 각 자리를 7, 5, 3으로 보고 -2씩 일정하게 감소하고 있습니다. 그리고 여기서 -2를 공차라고 합니다. 다른 예로는 222이 있는데 이 경우는 공차가 0입니다. 이러한 수를 한수라 하고 이 한수의 개수를 찾는 문제입니다. 여기서 1~9까지는 기본적으로 비교할 숫자가 없으므로 한수로 보는듯 합니다. 거기에 더해 10~99까지도 공차는 존재하지만 비교할 대상이 없으므로 한수로 치는거 같습니다. (문제에서 110을 입력했는데 99가 나온걸로 보아 1~99까지를 한수로 친거 같습니다.) 이 전재를 기본으로 깔고 문제를..
refid(reference id)는 반복되는 쿼리를 미리 작성해 놓고 재활용 할 수 있게 해준다. 작성 예시 SELECT * FROM TABLE SELECT * FROM TABLE WHERE ${param1} WHERE filed = #{value} WHERE filed = #{value} 쿼리 실행 결과 1 2 3 SELECT * FROM TABLE WHERE filed = #{value}
DB작업을 하다보면 먼저 사전에 어떤 키값을 가져와서 증가시켜서 입력하거나 혹은 입력후에 증가된 키값을 가져올 필요가 있다. 이럴때 mybatis에서 제공하는 selectKey를 이용하면 별도의 쿼리로직을 등록할 필요없이 해당 메소드에서 일괄처리할 수가 있다. 샘플로 아래와 같은 board테이블이 있다고 하자(mysql, mariadb) create table board( iq int not null auto_increment, boardID varchar(20) not null, title varchar(50) not null, content text not null, primary key(iq), unique(boardID) ); iq는 자동증가값이고 boardID는 unique하게 증가되서 입력되어..
이번에 풀어볼 문제는 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..