백준/JAVA

    [백준/JAVA] 1316번 그룹 단어 체커

    1. 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 2. 문제 접근 하나의 값을 입력받는다. 그 값만큼 반복해서 단어를 입력 받는다. 입력 받은 단어들 중 그룹 단어의 수를 출력한다. 핵심! 1) 그룹 단어의 개수를 저장하는 check 변수를 매 단어를 검사할 때 마다 1씩 증가시킨다. 2) 각 단어의 char 하나씩 접근하며 해당하는 배열의 인덱스의 값을 t..

    [백준/JAVA] 2941번 크로아티아 알파벳

    크로아티아 알파벳의 개수를 세는 문제 https://www.acmicpc.net/problem/2941 1. 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. 2. 문제 접근 문자열을 입력받는다. 정수형 변수에 문자열의 길이를 저장한다. 문자열의 char를 하나씩 접근하면서 다음 조건이 있을 ..

    [백준/JAVA] 2908번 상수

    2개의 수를 뒤집어서 더 큰 수를 출력 https://www.acmicpc.net/problem/2908 1. 문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. 2. 문제 접근 2개의 값을 입력받는다. 2개의 수를 뒤집고 비..

    [백준/JAVA] 단계별로 풀어보기(5단계) 코드 모음

    문제 15596) 정수 N개의 합 public class Test { long sum(int[] a) { long ans = 0; for(int i=0;i

    [백준/JAVA] 단계별로 풀어보기(4단계) 코드 모음

    문제 10818) 최소, 최대 import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); int..

    [백준/JAVA] 8958번 OX퀴즈

    OX 퀴즈의 결과를 일차원 배열로 입력받아 점수를 계산하는 문제 https://www.acmicpc.net/problem/8958 1. 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 2. 문제 접근 테스트의 개수를 입력 받는다. 테스트의 개수만큼 반복문을 통해 OX 퀴즈의 결과를 받는다. 2가지 경우로 문제를 풀어보자. 1) X를 기준으로 split하여 나눈 다음 O..

    [백준/JAVA] 2577번 숫자의 개수

    일차원 배열을 이용하여 곱셈의 결과에서 사용된 숫자의 개수 구하기. https://www.acmicpc.net/problem/2577 1. 문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 2. 문제 접근 3개 값을 입력 받는다. 3개의 값의 곱을 문자열로 변환하고 각 인덱스에 사용된 숫자에 해당하는 정수 배열에 값을 1씩 늘린다. 핵심코드! 조건문을 사용하여 0..

    [백준/JAVA] 10951번 A+B-4

    while문과 EOF의 개념을 이용해서 사용자가 EOF를 입력하기 전까지 두 수의 합을 출력하는 문제. https://www.acmicpc.net/problem/10951 1. 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 2. 문제 접근 두 개의 입력을 받는다. EOF가 입력되지 않았다면 두 수의 합을 출력한다! -> EOF의 개념을 사용해서 문제를 풀어보자! Scanner에서 EOF 입력! Scanner에서 EOF를 사용하는 방법 : .hasNext() 메소드 사용 -> EOF일 경우 false 반환, 값이 있는 경우 true 반환 Scanner sc = new Scanner(System.in); while(sc.hasNext()){} BufferedReader에서..