본문 바로가기

CODING119

[BAEKJOON] 2941번 크로아티아 알파벳 주어진 입력 문자열에서 크로아티아 알파벳으로 변경 가능한 8가지 경우의 수를 모두 고려하여 변경이 가능하다면 공백으로 대체하여 문자 하나로 취급한다. 결국 크로아티아 알파벳이 아닌 영문자와 공백으로 이루어진 문자열이 완성될 것이고, 공백 포함 문자열의 문자 개수를 출력한다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { public static void main(String[.. 2022. 1. 30.
[BAEKJOON] 5622번 다이얼 다이얼 최초 1까지 걸기 위한 시간 2초, 2부터는 1초씩 증가하여 3초, 3까지 4초, ... 의 시간이 걸린다. WA 입력을 받으면 W가 있는 다이얼 9까지 한 번, A가 있는 다이얼 2까지 한 번 걸어야 한다. 다이얼 9까지 걸리는 시간은 10초, 다이얼 2까지 걸리는 시간은 3초로 총 13초가 걸린다. 다이얼 번호에 적혀 있는 알파벳으로 나누어 배열을 만든다. 해당 문자를 포함한 문자열이 있다면 인덱스를 활용하여 시간을 구한다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamW.. 2022. 1. 29.
[BAEKJOON] 2908번 상수 세 자리 정수 두 개를 입력 받아 각 수를 문자열로 취급하여 역순으로 변환한다. 변환한 두 수의 대소비교를 하여 큰 수를 출력한다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWri.. 2022. 1. 28.
[BAEKJOON] 1157번 단어 공부 문자열을 이루는 각 문자의 아스키코드 값을 활용하여 풀이에 접근한다. a~z까지 담을 수 있는 26 크기의 int형 배열을 선언한다. a부터 인덱스 0번이라 가정하면, b는 인덱스 1번, ... , z는 인덱스 25번이다. 입력 받은 문자열의 각 문자마다 아스키코드 값을 받아 대·소문자의 경우를 나누어 판단한다. 소문자일 경우 a=97, b=98, ... 이므로 alphabet[n-97]++; 대문자일 경우 A=65, B=66, ... 이므로 alphabet[n-65]++; 위의 방식으로 배열에 문자 개수를 카운트한다. 모든 문자의 개수가 카운트 되면 가장 빈도수가 많은 단어(배열에 저장된 수 중 최댓값 이용)를 출력해야 한다. 고려해야 할 점, 카운트 개수가 가장 크다고 해서 유일한 최댓값이 아닐 수 .. 2022. 1. 28.
[BAEKJOON] 10809번 알파벳 찾기 알파벳 a~z 까지 모두 26개이므로 26 크기의 int형 배열을 만든다. 문자열을 한 문자씩 나누어 String 배열에 저장한다. 문자가 a이면 int형 배열의 a[0]에 문자가 저장된 인덱스 저장, 문자가 b이면 int형 배열의 a[1]에 문자가 저장된 인덱스 저장 Arrays.fill(배열명, 초기화 값) 으로 배열을 한 번에 초기화 한다. String형을 아스키코드로 변환하고 싶다면 (int)문자열.toCharArray()[변환하고자 하는 문자의 인덱스]를 사용한다. int형 정수를 BufferedWriter로 출력하고 싶다면 String형으로 변환이 필요하다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.. 2022. 1. 27.
[BAEKJOON] 11720번 숫자의 합 방법 1) BufferedReader의 read() 메소드로 한 문자씩 읽어 들여 덧셈 누적 read() 메소드는 문자를 int 형으로 변환하여 읽는데 ASCII 형식의 문자로 인식하기 때문에 br.read() - 48 또는 br.read() - '0' 을 사용하여 ASCII 값에서 뺄셈 연산을 해주어 문자를 숫자로 변환한다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] ar.. 2022. 1. 27.