전체 글 (19) 썸네일형 리스트형 [백준알고리즘 1003 피보나치 함수] python solution https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 피보나치 함수의 가장 작은 케이스를 보면 f(2) = f(1) + f(0)가 된다. 그러면 f(2)에서 0과 1이 출력되는 수는 f(1)과 f(0)의 0과 1이 출력되는 수의 합과 같게 됨을 알 수 있다. 입력값으로 첫 번째 입력값은 질의 수이고 그다음은 궁금한 숫자이다. 질의 수만큼 반복 시킨다. 궁금한 수가 0이나 1 보다 큰 경우 f(1)과 f(0)의 값을 f(2)와 f(1)로 바꾸면서 해당 값(코드에서 a)에 도착해야 한다. a-1회 반복하면 코드의 마지막 f1이 해당 값이 된다. [백준알고리즘 4673 셀프 넘버] python solution https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 소수 구하기에서 아리스토 테네스의 체와 유사한 방법입니다. L이라는 1부터 10000까지의 리스트를 생성하고, 가장 첫 번째의 생성자가 되는 1을 타깃으로 둡니다. L 이존재 할때 까지 반복되게 설정합니다. 한 스텝을 진행해보면 2는 1을 생성자로 두기 때문에 제거대상이 됩니다. 가장 안쪽 반복문에서 덧셈을 진행합니다 (1+1 연산). 그리고 타깃.. [백준알고리즘 2447 별찍기] python solution https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 재귀 함수를 이용해야 하는 문제입니다. 제일 기초 케이스를 k = 3으로 재귀를 종료하게 만들었고, k > 3 인 케이스는 설명을 위해 k = 9 인 케이스로 제한합니다. 시작으로 k = 3 이 되는 기초 케이스를 temp에서 3배를 하여 사각형의 가로길이를 늘립니다. 그리고 반복문으로 각 요소마다 3배를 하여 세로 길이를 늘렸다. 그러면 다음 사각형이 만들어집니다. *.. USACO 2020 January Contest, BronzeProblem 2 http://www.usaco.org/index.php?page=viewproblem2&cpid=988 USACO Farmer John is lining up his $N$ cows ($2\le N\le 10^3$), numbered $1\ldots N$, for a photoshoot. FJ initially planned for the $i$-th cow from the left to be the cow numbered $a_i,$ and wrote down the permutation $a_1,a_2,\ldots,a_N$ on a sheet of paper. U www.usaco.org python3 을 이용하였고 테스트 셋을 통과했습니다. 특징적인 부분은 스타팅 지점을 따로 구하지 않고 perm .. USACO 2020 January Contest, Bronze problem1 http://www.usaco.org/index.php?page=viewproblem2&cpid=987&lang=en USACO Bessie the cow is working on an essay for her writing class. Since her handwriting is quite bad, she decides to type the essay using a word processor. The essay contains $N$ words ($1\le N\le 100$), separated by spaces. Each word is between 1 and 15 charac www.usaco.org Python3 solution 제공된 테스트 케이스를 모두 통과하였습니다. # input N, K .. MySQL - regexp,rlike MySQL 8.0.26 버전 리포트입니다. (오라클과 sql_server에 대해서만 기술되어 구석구석 문법이 다른 것 같습니다.) 정규표현식 사용시 where 절에서 regexp_like를 사용하는 예제입니다. (sql가이드 p.386) syntax error 라고 메시지를 보게 되는데요, 당황하지 않고 구글에 물어보았습니다! 다음 예제 구문을 실행시킬 수 있습니다. select ename from emp where ename regexp '^s'; select ename from emp where ename rlike '^s'; regexp와 rlike 의 차이점 자체는 잘모르겠네요. 똑같이 행동하는 것처럼 보입니다. 두 테이블의 결과표입니다. SMITH SCOTT 그리고 정규표현식 사용시 알파벳 대소.. MySQL - ratio_to_report 구현 MySQL 8.0.26에서 ratio_to_report() 함수가 실행되지 않습니다. (스칼라) 서브쿼리를 이용해서 간단하게 구현하였습니다. select ename,sal, round(sal/(select sum(sal) from emp where job = 'salesman'),2) from emp where job = 'salesman'; 다음은 결과표입니다. ALLEN 1600.00 0.29 WARD 1250.00 0.22 MARTIN 1250.00 0.22 TURNER 1500.00 0.27 MySQL - rollup 사용 group by 절에서 rollup(column1,.. )의 형태로 사용할 수 있다고 알려져 있습니다. MySQL 8.0.26 에서는 작동하지 않았습니다. select b.dname, a.job, count(*) as emp_cnt, sum(a.sal) as sal_sum from emp a,dept b where b.deptno = a.deptno group by dname,job with rollup; 위 예문과 같이 with 절을 삽입하여 rollup 옵션을 적용시킬 수 있습니다. group by 컬럼을 그대로 이용합니다. 다음은 결과표입니다. 잘 구동되네요! ACCOUNTING CLERK 1 1300.00 ACCOUNTING MANAGER 1 2450.00 ACCOUNTING PRESIDENT 1.. 이전 1 2 3 다음