length()메서드를 통해 문자열의 길이를 출력한다. package boj; import java.util.Scanner; public class b2743 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); System.out.println(str.length()); } }
변수 S에 문자열을 입력받아 n번째의 문자를 출력한다. 이 때, 인덱스는 0부터 시작하므로 원하는 n번째의 문자를 출력하기위해서는 n-1만큼해준다. package boj; import java.util.Scanner; public class b27866 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String S = sc.next(); int n = sc.nextInt(); System.out.println(S.charAt(n-1)); } }
이 문제에서는 나머지 결과가 중복되는 경우를 제외시켜야 하는부분이 핵심인 것 같다. 길이가 42인 boolean타입 배열을 생성해주고 입력되는 값의 42를 나눈 나머지값의 인덱스를 true로 처리해준다. for each문을 통하여 인덱스 값이 true이면 count를 ++시켜준다. 그렇게 되면 자연스레 인덱스값이 true일 때만 count++을 해주기때문에 중복값을 예외할 수 있다. package boj; import java.util.Scanner; public class b3052 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); boolean[] arr = new boolean[42]; for(int i=0..
배열의 길이를 31로 갖는 boolean타입 배열을 생성해준다. 이 때 학생의 수는 30이지만 길이를 31로해주는 이유는 학생의 번호는 0번부터가아닌 1번부터 시작하기 때문이다. checkArr[sc.nextInt()]를 통해 값을 입력받아 해당하는 인덱스의 값을 true로 바꿔준다. 그런다음 다시한번 반복문으로 1인덱스부터 30까지 탐색하며 false인 값을 출력해준다. package boj; import java.util.Scanner; public class b5597 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); boolean[] checkArr = new boolean[31]; for(int i=0; i
이전 배열문제들과 똑같이 배열을 먼저 생성해준뒤, 각 바구니에 1~N까지 순서대로 공을 넣어놓고 변수 tmp를 통해 해당 바구니의 값을 바꿔준다. tmp = arr[a-1]; arr[a-1] = arr[b-1]; arr[b-1] = tmp; 위 코드가 가장 중요한 로직인데, 먼저 a,b에 -1을 해주는 이유는 문제에서 바구니는 1시작하지만 배열의 인덱스는 0부터 시작하기때문에 -1을 해주어 맞춰주는 것이다. 그리고 tmp변수를 사용하는이유는 arr[a-1] = arr[b-1]과 같이 b인덱스 값을 a인덱스 값으로 바로 넣어버리면 a인덱스 값이 가지고있는 값은 소멸되버리기때문에 tmp에 먼저 저장을 해둔뒤 b인덱스 값을 a로 옮기고 b에 tmp가 가지고있는 a값을 넣어주는 것이다. package boj; ..
쉽게 생각하면 간단한 문제이다. 문제를 먼저 이해해보자면 1번부터 순서대로 N번까지 번호가 쓰여진 바구니에 1번부터 N번까지 번호가 적혀있는 공을 집어넣는데, 이 때 공을 넣을때는 반드시 정해진 범위에 같은 번호인 M번의 공을 각각 다른 바구니에 넣고, 그 다음 공을 넣을때는 바구니에 원래 있었던 공은 뺀 뒤에 공을 넣는다. 바구니의 개수를 뜻하는 N길이의 int배열을 생성해주고 공을 넣는 행위를 반복하므로 M만큼 반복문의 조건식을 달아준다. 공을 넣으려는 바구니의 범위와 공의 숫자를 입력받은 뒤, for(int j = a - 1; j
먼저, 문제에서 9개의 서로 다른 자연수를 제시하였으므로 길이가 9인 int배열을 생성하고 최대값을 저장하기위한 max변수와 그 값이 몇번째 인덱스에 위치하는지 알기위한 index변수와 count변수를 생성해준다. for each문을 사용하여 arr배열을 0인덱스부터 끝인덱스까지 돌때마다 count++를 하고, 만약 tmp의 값이 max보다 크다면 그 값을 max에 저장하고 해당 인덱스를 반환해준다. 즉, count는 해당 인덱스를 가리키기위한 변수이다. package boj; import java.util.Scanner; public class b2562 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int..
N의 길이를 갖는 배열을 생성해주고, nextInt()의 반복문을 통해 배열의 값을 입력받는다. 최대값을 의미하는 max와 최소값을 의미하는 min 변수를 생성해준다. 이 때, min변수는 0으로 초기화되면 후에 조건문에서 가장 작은 값인 0을 계속 갖고있기때문에 배열의 첫번째 인덱스 값으로 초기화해준다. package boj; import java.util.Scanner; public class b10818 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; for(int i=0; i