문제 풀이
-
[Baekjoon Online Judge] 10809번: 알파벳 찾기문제 풀이/Baekjoon Online Judge 2021. 1. 4. 21:50
[Baekjoon Online Judge] 10809번: 알파벳 찾기 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 문자열을 입력 받으면 해당 알파벳이 처음 등장하는 위치를 index로 출력하는 문제이다. import java.io.*; import java.util.HashMap; import java.util.Map; public class Baekjoon10809 { public static void main(String[] args) throws IOException { BufferedRe..
-
[Baekjoon Online Judge] 1152번: 단어의 개수문제 풀이/Baekjoon Online Judge 2021. 1. 4. 21:47
[Baekjoon Online Judge] 1152번: 단어의 개수 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net import java.io.*; public class Baekjoon1152 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWrite..
-
[Baekjoon Online Judge] 8958번: OX퀴즈문제 풀이/Baekjoon Online Judge 2021. 1. 4. 21:42
[Baekjoon Online Judge] 8958번: OX퀴즈 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net import java.io.*; public class Baekjoon8958 { public static boolean isCorrect(char c) { if (c == 'O') return true; else return false; } public static void main(String[] args) throws IOException { BufferedReader bu..
-
[Baekjoon Online Judge] 2577번: 숫자의 개수문제 풀이/Baekjoon Online Judge 2021. 1. 3. 20:47
[Baekjoon Online Judge] 2577번: 숫자의 개수 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net A, B, C의 숫자 세개를 곱하여 각 자리수가 몇 개 나온지 count 하는 문제이다. 해결 방법은 int 배열과 Map을 사용한 두 가지 방법으로 하였다. import java.io.*; public class Baekjoon2577 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new Inp..
-
[Baekjoon Online Judge] 11720번: 숫자의 합문제 풀이/Baekjoon Online Judge 2021. 1. 3. 20:08
[Baekjoon Online Judge] 11720번: 숫자의 합 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 입력 받은 숫자의 각 자리수를 더하는 문제이다. 정수로 해결하게 된다면 자리수보다 큰 수가 들어올 가능성이 높기 때문에 쉽게 오버플로우가 일어날 수 있다. 그렇기 때문에 String을 활용하여 문제를 해결하였다. 문자열로 입력 받은 즉시 split으로 나누어 문자열 배열로 해결하는 방법과 문자열로 받은 뒤 각각의 자리를 char로 뽑아서 정수형으로 바뀐 뒤 더하는 두가지 방식으로 해결하였다. import java.io.*; public class Baekjoon11720 { pu..
-
[Baekjoon Online Judge] 2438번: 별 찍기 - 1문제 풀이/Baekjoon Online Judge 2021. 1. 3. 17:58
[Baekjoon Online Judge] 2438번: 별 찍기 - 1 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 이중 루프를 사용하여 별을 찍는 아주 간단한 문제이다. 쉽게 해결할 수 있기 때문에 문제 해결에 집중하기 보단 다양한 조건을 가지고 문제를 풀었을 때 각각의 수행 시간 차이에 대해 알아보기로 했다. 총 세개의 조건을 가정하고 풀이하였다. 1. Scanner + System.out.print 조합 2. BufferedReader + BufferedWriter 조합 3. BufferedReader + StringBuilder 조합 1. Scanner + System.out.print 조합 가장 기본적..
-
[Baekjoon Online Judge] 1744번: 수 묶기문제 풀이/Baekjoon Online Judge 2021. 1. 2. 14:56
[Baekjoon Online Judge] 1744번: 수 묶기 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 입력 받은 값들을 오름차순으로 정렬하여 가장 높은 수가 나올 수 있도록 수를 배분한다. 1. 0을 포함한 음수 2. 1 3. 1을 제외한 양수 1의 경우에는 곱하는 것 보다 더하는 것이 더 큰 값이 나오기 때문에 따로 더해주었다. 음수 list는 가장 작은 수 부터 탐색하며 짝수 번째에 곱해주고, 만약 size가 홀수로 한 개 남는다면 더해준다. 양수 list는 가장 큰 수 부터 탐색하며 짝수 번..
-
[Baekjoon Online Judge] 1138번: 한 줄로 서기문제 풀이/Baekjoon Online Judge 2021. 1. 2. 13:35
[Baekjoon Online Judge] 1138번: 한 줄로 서기 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 처음 문제를 읽는데 이해가 잘 되지 않았다. 입력에 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다고 한다. 그 말은 즉 키의 오름차순으로 서있다는 의미로 받아들여지는 것인지 헷갈렸다. 예제를 기준으로 보면 2 1 1 0 순이다. 그렇기 때문에 키가 큰 순서로 섯다고 가정하고 풀이를 진행하였다. 다른 사람의 풀이를 참고하여 총 두 가지 방법으로 풀..