전체 글
-
[Baekjoon Online Judge] 11655번: ROT13문제 풀이/Baekjoon Online Judge 2021. 2. 8. 10:17
11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 요구사항 - ROT13는 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다. - 예를 들어, "Baekjoon Online Judge"를 ROT13으로 암호화하면 "Onrxwbba Bayvar Whqtr"가 된다. ROT13으로 암호화한 내용을 원래 내용으로 바꾸려면 암호화한 문자열을 다시 ROT13하면 된다. 앞에서 암호화한 문자열 "Onrxwbba Bayvar Whqtr"에 다시 ROT13을 적용하면 "Baekjoon Online Judge"가 된다. - ROT13은 알파벳 대문자와 소문자에만 적용할 수 있다. 알파..
-
[Baekjoon Online Judge] 10844번: 쉬운 계단 수문제 풀이/Baekjoon Online Judge 2021. 2. 6. 17:39
10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 요구사항 - 인접한 모든 자리수의 차이가 1인 수를 계단 수라고 한다. - 수의 길이 n이 주어지면 계단 수가 몇 개 인지 구한다. - 수는 0으로 시작할 수 없다. 입력 - 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 - 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. 자리 수가 1일 때 계단 수는 1, 2, 3, 4, 5, 6, 7, 8 9로 9개 이다. 자리 수가 2일 때 계단 수는 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98..
-
[Baekjoon Online Judge] 10870번: 피보나치 수 5문제 풀이/Baekjoon Online Judge 2021. 2. 6. 16:21
10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 요구사항 - 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. - 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. 입력 - 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 - 첫째 줄에 n번째 피보나치 수를 출력한다. import java.io.BufferedR..
-
[Baekjoon Online Judge] 1912번: 연속합문제 풀이/Baekjoon Online Judge 2021. 2. 6. 16:10
1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 요구사항 - n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 입력 - 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. 출력 - 첫째 줄에 답을 출력한다. n개의 정수로 이루어진 임의의 수열 중 연속 된..
-
[Baekjoon Online Judge] 11053번: 가장 긴 증가하는 부분 수열문제 풀이/Baekjoon Online Judge 2021. 2. 6. 14:57
11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 요구사항 - 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구한다. 입력 - 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다. - 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000) 출력 - 첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다. 수열의 각 항목을 비교하며, 해당 자리 까지 가장 긴 증가하는 부..
-
[Baekjoon Online Judge] 1212번: 8진수 2진수문제 풀이/Baekjoon Online Judge 2021. 2. 5. 20:37
1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 요구사항 - 8진수가 주어졌을 때, 2진수로 변환한다. 입력 - 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. 출력 - 첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다. 빠른 변환을 위하여 map에 key 값을 8진수로, value 값을 8진수를 2진수로 나타낸 값으로 세팅한다. 입력받은 8진수를 for loop를 돌며 값을 채워준다. 조건 중에 반드시 1로 시작해야 하기 때문에 완성된 이진수 문자열을 체크하여 0을 삭제해준다. import java.io.BufferedRea..
-
[Baekjoon Online Judge] 11656번: 접미사 배열문제 풀이/Baekjoon Online Judge 2021. 2. 5. 20:03
11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 요구사항 - 접미사 배열은 문자열 S의 모든 접미사를 사전순으로 정렬해 놓은 배열이다. - 문자열 S가 주어졌을 때, 모든 접미사를 사전순으로 정렬한 다음 출력한다. 입력 - 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. 출력 - 첫째 줄부터 S의 접미사를 사전순으로 한 줄에 하나씩 출력한다. 입력받은 문자열을 substring으로 시작 index를 하나씩 이동하며 List에 저장한다. 간단하게 정렬을 한 후 출력하여 해결하였다. import java.io.BufferedReade..
-
[Baekjoon Online Judge] 10988번: 팰린드롬인지 확인하기문제 풀이/Baekjoon Online Judge 2021. 2. 5. 20:00
10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 요구사항 - 알파벳 소문자로만 이루어진 단어가 주어진다. - 이 단어가 팰린드롬인지 아닌지 확인한다. - 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. 입력 - 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. 출력 - 첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다. 입력받은 word의 길이를 기준으로 2로 나누어 그 전까지의 숫자를 비교하며 로직을 작성하였다. word의 길이가 1인 경우 무조건 팬린드롬이 맞기 때문..