1937년 Collatz란 사람에 의해 제기된 이 추측은, 입력된 수가 짝수라면 2로 나누고, 홀수라면 3을 곱하고 1을 더한 다음, 결과로 나온 수에 같은 작업을 1이 될 때까지 반복할 경우 모든 수가 1이 된다는 추측입니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. collatz 함수를 만들어 입력된 수가 몇 번 만에 1이 되는지 반환해 주세요. 단, 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요.
풀이 (python)
# 인자가 1보다 크면 계속 연산을 진행 > 1이 되는 순서를 리턴 > 순서가 500보다 크면 -1 리턴
defcollatz(num):i=0whilenum>1:num=num*3+1ifnum%2elsenum/2i+=1returniifi<500else-1
다른사람 풀이
# 500번 반복하여 연산을 진행 > 1이 되는 순서를 리턴 > 500번 반복해도 1이 되지 않으면 -1 리턴
defcollatz(num):foriinrange(500):num=num/2ifnum%2==0elsenum*3+1ifnum==1:returni+1return-1# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(collatz(6))
서버에 직접 설치하는 웹프로그램으로, 웹으로 제공되는 서비스이기 때문에 어디서든지 웹환경에서 DB를 제어할 수 있다.
navicat
기능이 많고 안정적이다. 유료
mysql monitor 사용법
mysql monitor
mysql 서버의 번들로 제공되는 기본 프로그램 (mysql client)
명령어 기반
mysql 관련된 거의 모든 기능을 사용할 수 있고, mysql이 있는 곳에 함께 기본으로 설치되어 있다.
사용법
mysql -u아이디 -p비밀번호
mysql -h호스트주소 -p포트번호 -u아이디 -p비밀번호
데이터베이스 생성 및 조회
mysql > CREATE DATABASE music CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql > show databases
데이터베이스 선택
mysql > use music
테이블 생성 및 조회
CREATE TABLE `favorite_music`(`title` varchar(255) NOT NULL,
`musician` varchar(20) NOT NULL,
`duration` varchar(20) NOT NULL,
`album` varchar(30) NOT NULL
)ENGINE=innodb;