본문 바로가기
728x90
반응형

전체 글249

[백준] 11660번 : 구간 합 구하기 5(JAVA) https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 풀이 1,1구간부터 합을 구한 후 풀면 됩니다. 1,1일 경우 0,1 + 1,0 - 0,0 + 1,1 이 1,1까지의 합이 됩니다. 차이를 구하는 방식도 2,2 1,1일 경우 2,2 - 2,0 - 0,2 + 0,0이 됩니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import ja.. 2021. 8. 23.
[백준] 2749번 : 피보나치 수 3(JAVA) https://www.acmicpc.net/problem/2749 2749번: 피보나치 수 3 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 피보나치 수 1 = int 피보나치수 2 = long 피보나치수 3 = 피사노 주기 피보나치수 4 = BigInteger로 풀면된다. (피보나치 수를 나눈 나머지는 항상 주기를 가진다. 이를 피사노 주기(Pisano Period)라 한다.) 1000000을 나눈 나머지를 한다는 가정하에 1500000번을 주기로 똑같은 값이 주어진다. 그러므로 size를 받아서 pisano로 나눈 나머지의 위치만 구해주면 되는 간단한 문제였다. 피사노 주기를 알고 있다는 가정하에.. 소스코.. 2021. 8. 21.
[백준] 5602번 : 問題1(JAVA) https://www.acmicpc.net/problem/5602 5602번: 問題1 1 行目は生 徒の人数 n と旅行候補の場所の数 m が空白で区切られ, i + 1 行に生徒 i のアン ケート結果を ○ は 1 で×は 0 で表し,空白で区切られた m 個の数字が並んでいる. 1 ≤ n ≤ 1000, 1 www.acmicpc.net 풀이 m만큼의 배열을 만들고, n번 입력받으면서 m번째로 들어오는 수가 1이면 ++ 합니다. 맨처음 max는 n이 되므로 max를 줄여가면서 같을 경우 StringBuilder에 추가해 준 후 마지막에 출력해주는식으로 풀면 됩니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre.. 2021. 8. 21.
[백준] 22966번 : 가장 쉬운 문제를 찾는 문제(JAVA) https://www.acmicpc.net/problem/22966 22966번: 가장 쉬운 문제를 찾는 문제 예선 문제를 성실하게 복습한 학생들이라면 예선에 출제된 5문제가 난이도 순서대로 정렬되어 있다는 것을 알아차렸을 것이다. 하지만 본선은 문제 제목에 대해 사전순으로 정렬했기 때문에 난 www.acmicpc.net 풀이 가장 난이도가 높은건 4이므로 5로 값을 정하고 size만큼 반복하면서 입력받은 난이도가 더 작으면 answer을 교체해주는 식으로 풀면 됩니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; .. 2021. 8. 20.
[백준] 9996번 : 한국이 그리울 땐 서버에 접속하지(JAVA) https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net 풀이 matches를 이용하면 간단하게 풀 수 있습니다. matches : 정규식을 이용한 비교 String 변수를 선언 후 한줄을 입력받고 *이 있을 시 "(.*)"을 입력해줍니다. 그러면 matches에 비교할 수 있게 되는 문자열이 만들어지고 size만큼 문자열을 입력받으면서 체크해줍니다. 소스코드 import java.io.BufferedReader; im.. 2021. 8. 20.
[백준] 17298번 : 오큰수(JAVA) https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 풀이 이중 포문(O(n2))으로 해결할려고하면 시간초과가 나옵니다. 알고리즘 분류에 스택이라고 있으니 스택으로 함 풀어봅시다. 먼저 입력받은 크기만큼 배열에 수를 입력받습니다. 스택이 비어있지 않고, 스택에 저장된 숫자의 배열 위치가 현재 체크하고자 하는 배열 위치보다 작으면, 그 배열 위치에 체크하고자 하는 배열위치의 값을 넣어주는 방식을 반복해줍니다. 스택에 수를 넣어주면서 그러다 1부터 size까지 다.. 2021. 8. 17.
[백준] 1213번 : HTML(JAVA) https://www.acmicpc.net/problem/6581 6581번: HTML 원래의 HTML 문서가 입력으로 주어진다. 이 텍스트는 단어와 HTML 태그들로 이루어져 있으며, 태그는 한 개 이상의 공백문자나 탭, 개행 문자 등으로 구분된다. 단어는 연속된 알파벳, 숫자, 또는 www.acmicpc.net 풀이 " "이 들어올 시 개행문자 추가 ""이 들어올 시 개행문자 추가 + "-" 80번 출력 + 개행문자 추가 나머지는 그냥 출력하되 80문자를 넘어가면 개행문자추가 StringBuilder와 String answer을 만들고, answer에 더해주다가 이 들어올 시 answer의 크기가 0이 아니면 StringBuilder에 answer을 추가하고 개행문자추가 이 들어올 시 answer의 .. 2021. 8. 17.
[백준] 1213번 : 팰린드롬 만들기(JAVA) https://www.acmicpc.net/problem/1213 2021. 8. 16.
[백준] 18129번 : 이상한 암호코드(JAVA) https://www.acmicpc.net/problem/18129 18129번: 이상한 암호코드 가톨릭대학교에 살고 있는 고양이 황톨릭은 이웃집 고양이 엄컴공을 좋아한다. 엄컴공은 알파벳으로만 이루어진 문자열을 이상한 암호로 바꾸는 일을 하고 있다. 이상한 암호로 바꾸기 위해선 www.acmicpc.net 풀이 구간이 다음 수 이상이면 1 아니면 0, 한번 체크했던 구간이면 pass해서 출력하는 방식입니다. 이미 지나갔던 구간인지 알파벳 수인 26으로 boolean 배열을 통해 체크하면 됩니다. 마지막 글자까지 구별해야해서 마지막에 " "으로 글자를 추가해줍니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.. 2021. 8. 15.
728x90
반응형