java
[백준] 2908번 : 상수 - JAVA [자바]
[백준] 2908번 : 상수 - JAVA [자바]
2020.03.20https://www.acmicpc.net/problem/2908 2908번: 상수 문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 www.acmicpc.net 문제 입력받은 문자열을 뒤집을 수 있는지가 point 인 문제다. ※ 주의할 점 두 수는 공백을 기준으로 구분되며 세 자릿수로 고정되어있다...
[백준] 1152번 : 단어의 개수 - JAVA [자바]
[백준] 1152번 : 단어의 개수 - JAVA [자바]
2020.03.20https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. www.acmicpc.net 문제 단어의 개수를 물어보는 문제다. 다만 주의 할 것이 있다. 문자열의 앞과 뒤에는 공백이 있을 수도 있다는 것이다. 즉, 공백 단위로 처리할 때 그냥 공백의 개수대로 단어를 세면 예외가 발생할 수 있다는 것이다. 3가지 풀이방법을 제시한다. 먼저 흔히 입력으로 쓰는 Scanner 를 통해 풀어볼 것이다. 또한 Scanner 로 풀이한 것과 동일..
[백준] 1157번 : 단어 공부 - JAVA [자바]
[백준] 1157번 : 단어 공부 - JAVA [자바]
2020.03.19https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 문자열 중 가장 중요한 것 중 하나가 바로 문자의 코드 값을 다룰 줄 아느냐다. 이 번 문제는 해당 개념을 이해하고 있다면 매우 쉬운 문제가 될 것이다. ※ 주의할 점 가장 많이 반복된 문자가 2개 이상일 경우 ? 을 출력한다. 대문자와 소문자의 구분은 없다. 출력 문자는 대문자로 한다. 3가지 풀이방법을 제시한다. 먼저 가장 기본적인 Scanner 로 입력받아서 풀 것이다. 그리고는 BufferedReader 을 이용하여 ..
[백준] 2675번 : 문자열 반복 - JAVA [자바]
[백준] 2675번 : 문자열 반복 - JAVA [자바]
2020.03.19https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 www.acmicpc.net 문제 그리 어렵지 않은 문제다. 다만 Scanner 을 이용하여 풀 경우 조심해야 할 것이 있기 때문에 포스팅하면서 이에 대해 설명해주..
[백준] 10809번 : 알파벳 찾기 - JAVA [자바]
[백준] 10809번 : 알파벳 찾기 - JAVA [자바]
2020.03.18https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. www.acmicpc.net 문제 문제의 난이도는 어렵지 않다. ※ 주의할 점 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있다. a ~ z 를 모두 출력하여 주어진 문자열에 대해 해당 문자가 처음으로 나오는 위치를 출력한다. 위치는 0 부터 시작한다. 즉 문자열 첫 단어는 위치가 0 이다. 2가지 풀이 방법을 제시한다. ..
[백준] 11720번 : 숫자의 합 - JAVA [자바]
[백준] 11720번 : 숫자의 합 - JAVA [자바]
2020.03.17https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제 매우 간단한 문제다! ※ 주의할 점 두 번째로 입력받은 값의 각 자릿수의 합을 구하는 문제다. 2가지 풀이 방법을 제시한다. Scanner 로 입력받아 charAt() 을 사용하여 푸는 방법과 BufferedReader 로 입력받아 getBytes() 을 이용하여 푸는 방법을 제시할 것이다. 풀이 - 방법 1 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanne..
[백준] 14681번 : 사분면 고르기 - JAVA [자바]
[백준] 14681번 : 사분면 고르기 - JAVA [자바]
2020.03.17https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표 www.acmicpc.net 문제 매우 쉬운 문제다. 다행이도 ( x, y ) 의 범위에서 0 은 제외되었으므로 따로 예외처리 해줄 필요가 없다. 2가지 방..
[백준] 11654번 : 아스키 코드 - JAVA [자바]
[백준] 11654번 : 아스키 코드 - JAVA [자바]
2020.03.16https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 매우매우 쉬운 문제다! ※ 주의할 점 출력하는 값은 주어진 입력에 대한 아스키 코드 값이다. 2가지 풀이방법을 제시한다. 먼저 특별한 알고리즘은 없기 때문에 바로 코드를 보여줄 것인데 그 전에 아래에 필자가 포스팅한 입력에 대해서 한 번은 꼭 읽어보길 권장한다. https://st-lab.tistory.com/41?category=830901 JAVA [자바] - 입력 뜯어보기 [Scanner, InputStream, BufferedReader] 이 글을 ..
[백준] 10996번 : 별 찍기 - 21 - JAVA [자바]
[백준] 10996번 : 별 찍기 - 21 - JAVA [자바]
2020.03.15https://www.acmicpc.net/problem/10996 10996번: 별 찍기 - 21 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 문제 위 문제는 다른 별 찍기에 비해 쉬운 편이다! 아래 알고리즘에서 한 번 차근차근 알아보자. 3가지 풀이방법을 제시한다. Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 또한 BufferedReader 에서 출력방법을 바꿔보며 어느 방법이 시간을 더 단축 시킬 수 있는지 한 번 보고자 한다. 알고리즘 먼저 출력 방법을 자세히 보자. 1. 먼저 N 이라는 숫자가 주어진다. 그럼 총 출력 행은 2N 개다. 이 N 이라는 숫자에 따라 1 ..
[백준] 2446번 : 별 찍기 - 9 - JAVA [자바]
[백준] 2446번 : 별 찍기 - 9 - JAVA [자바]
2020.03.13https://www.acmicpc.net/problem/2446 2446번: 별 찍기 - 9 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 별 찍기 응용문제로 가장 많이 나오는 문제 중 하나다. 처음에는 어떻게 해야할지 모르더라도 막상 이해한다면 매우 쉬운 문제이니 차근차근 살펴보자. 3가지 풀이방법을 제시한다 Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법을 통해 풀이해보고자 한다. 또한 BufferedReader 에서 출력방법을 바꿔보며 어느 방법이 시간을 더 단축 시킬 수 있는지 한 번 보고자 한다. 알고리즘 출력 행은 총 2N-1 줄 이다. 먼저 N 이라는 숫자가 주어진다. 1. 1 행..