본문 바로가기

CODING/BAEKJOON72

[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.
[BAEKJOON] 2523 별 찍기 - 13 입력 받은 수 N의 2 * N - 1 번째 줄만큼 *을 출력한다. N번째 줄까지는 *의 개수를 하나씩 증가시켜 출력하지만 N+1 번째 줄부터는 *의 개수를 하나씩 감소시켜 마지막 줄에는 * 하나만 출력해야 한다. 결국 출력된 모습이 이등변삼각형꼴이 되어야 한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int .. 2022. 1. 26.
[BAEKJOON] 1065번 한수 1, 2, 3, 4, 5, ... , 99까지 모두 한수이다. 1~9 까지는 등차(d)가 0이고, 10의 d = 1(1-0), 11의 d = 0(1-1), 12의 d = 1(2-1),... 이 된다. 이렇게 1~99까지는 각 자리수를 따져보았을 때 등차가 성립한다고 할 수 있다. 입력은 1000보다 작거나 같은 수만 존재하므로 세자리수 중 한수인 경우만 골라내면 된다. 재귀함수를 활용하여 한수일 경우는 1을 더해주고, 한수가 아닐 경우는 0을 리턴하여 아무것도 더해주지 않는 방법으로 코드를 작성해보았다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { .. 2022. 1. 26.
[BAEKJOON] 4673 셀프 넘버 예를 들어 123으로 시작한다면 다음 수는 123 + 1 + 2 + 3 = 129이고, 다음 수는 129 + 1 + 2 + 9 = 141이다. 현재 숫자와 각 자리수(일의 자리, 십의 자리, ...)의 합을 구하면 된다. 1234의 경우 일의 자리 = 1234%10 = 4 십의 자리 = (1234/10)%10 = 3 백의 자리 = (1234/100)%10 = 2 천의 자리 = 1234/1000 = 1 문제에서 10000보다 작거나 같은 셀프 넘버라고 했으니 각 자리 수를 구할 때 천의 자리까지만 고려해도 된다. 10001개의 배열을 만들어 인덱스에 해당하는 수의 셀프 넘버를 저장한다. 현재 숫자의 셀프 넘버 총합이 10000이 넘어가면 출력하지 않아도 되므로 -1로 저장한다. public class Ma.. 2022. 1. 26.
[BAEKJOON] 1145번 적어도 대부분의 배수 입력 수는 5개로 고정이다. 출력을 구하는 방법은 아래 이미지와 같이 총 10번의 연산을 통해 이루어진다. 1. 모든 경우의 수를 따져 5개의 수 중 3개를 골라 최소공배수를 구한다. 2. 최소공배수들 중 가장 작은 값을 출력한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedRead.. 2022. 1. 26.