분류 전체보기 257

Baekjoon11054: 가장 긴 바이토닉 부분 수열

가장 긴 바이토닉 부분 수열 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 27537 14009 11018 51.161% 문제 수열 S가 어떤 수 Sk를 기준으로 S1 Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다. 예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉 수열이지만, {1, 2, 3, 2, 1, 2, 3, 2, 1}과 {10, 20, 30, 40, 20, 30} 은 바이토닉 수열이 아니다. 수열 A가 주어졌을 때, 그 수열의 부분 수열 중 바이토닉 수열이면서 가장 긴 수열의 길이를 구하는 프로그램을 작성하시오. 입력 ..

Study/Baekjoon 2021.10.26

Baekjoon11053: 가장 긴 증가하는 부분 수열, 3가지 풀이

가장 긴 증가하는 부분 수열 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 84740 32987 21636 37.047% 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000) 출력 첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다. 풀이1 재귀함수를 사용해서 풀이할 것인데, [ 작은 숫자 ..

Study/Baekjoon 2021.10.26

Baekjoon9461: 파도반 수열

파도반 수열 출처다국어 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 53100 22653 18589 41.217% 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이..

Study/Baekjoon 2021.10.26

Baekjoon1904: 01타일

01타일 시간 제한메모리 제한제출정답맞은 사람정답 비율 0.75 초 (추가 시간 없음) 256 MB 48865 16070 12909 33.067% 문제 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다. 그러므로 지원이는 타일로 더 이상 크기가 N인 모든 2진 수열을 만들 수 없게 되었다. 예를 들어, N=1일 때 1만 만들 수 있고, N=2일 때는 00, 11을..

Study/Baekjoon 2021.10.26

Baekjoon9184: 신나는 함수 실행

문제 재귀 호출만 생각하면 신이 난다! 아닌가요? 다음과 같은 재귀함수 w(a, b, c)가 있다. if a 20, then w(a, b, c) returns: w(20, 20, 20) if a < b and b < c, then w(a, b, c) returns: w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c) otherwise it returns: w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1) 위의 함수를 구현하는 것은 매우 쉽다. 하지만, 그대로 구현하면 값을 구하는데 매우 오랜 시간이 걸린다. (예를 들면, a=15, b=15, c=15) a, b, c가 주어졌을 때, w(a, b, c)를 출력..

Study/Baekjoon 2021.10.25

Java: 배열의 초기값 ( String 배열의 초기값만 왜 null? )

배열의 초기값 배열을 생성할 때 선언한 데이터 타입의 default 값으로 배열이 채워집니다 int는 0, char은 '0' ... 데이터 타입 초기값 int 0 double 0.0 char '0' boolean false 하지만 String 이나 사용자가 만든 객체로 배열을 만들 때 null값이 default 값입니다. 왜 int, char 등은 null이 초기값이 아닐까요? 이들은 primitive 자료형이며 객체(Object) 유형만 null값을 지닐 수 있기 때문입니다 때문에 Wrapper class로 분류되는 String, Integer, Double 등으로 배열을 만들면 null값을 default값으로 얻을 수 있습니다 데이터 타입 초기값 String null Character Integer ..

Study/Java 2021.10.25

Baekjoon1003*: 피보나치 수열, 동적 계획법의 사용

문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonacci(0)은 ..

Study/Baekjoon 2021.10.25

티스토리 다크모드 30초만에 적용하기

네이버와 구글이 최근 다크모드를 출시했죠 티스토리에도 다크모드를 설정할 수 있는데요 티스토리의 경우 사용자가 Window ,Mac 운영체제에서 '다크모드 사용'을 체크해줘야만 보입니다 거기다 다크모드시 블로그 운영자가 직접 CSS설정을 해주어야 합니다 블로그의 디자인 신경쓰지 않고 일단 다크모드를 적용하고 싶은 분들이 있을 것 같아 제가 작성한 CSS코드를 올립니다 *구글 다크모드 색상을 적용했습니다 @media (prefers-color-scheme: dark) { *:not(.article_view pre code.hljs, code.hljs span, table, tr, td){ background-color: rgba(53,53,53) !important; border-color: rgba(53,..

Tip 2021.10.24

Baekjoon5430: AC

문제 선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다. 함수 R은 배열에 있는 숫자의 순서를 뒤집는 함수이고, D는 첫 번째 숫자를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다. 함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. 예를 들어, "RDD"는 배열을 뒤집은 다음 처음 두 숫자를 버리는 함수이다. 배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 최대 100이다. 각 테스트..

Study/Baekjoon 2021.10.24