Study 95

[백준/파이썬] 1850. 최대공약수

문제 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A가 111이고, B가 111111인 경우에는 최대공약수가 111이다. 입력 첫째 줄에 두 자연수 A와 B를 이루는 1의 개수가 주어진다. 입력되는 수는 263보다 작은 자연수이다. 출력 첫째 줄에 A와 B의 최대공약수를 출력한다. 정답은 천만 자리를 넘지 않는다. 아이디어 약간의 꼼수? 해결과정 1. 맨처음 생각한 방법 : 주어진 입력값에다가 문자열 "1"을 곱해서 최대 공약수를 구하자. 아무래도 문자열 "1"에 500000000000000000 라는 수를 곱하다보니 메모리에러가 발생한 ..

[백준/파이썬] 2581. 소수

문제 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다. 입력 입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다.M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다. 출력 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. 아이디어 에라토스테네스의 체 를 이용해서 풀어..

[백준/파이썬] 4153. 직각삼각형

https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. 출력 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"..

[Java] Intellij 에서 외부 라이브러리 사용하기(Gson)

1. Maven Repository 접속 (https://mvnrepository.com/) 2.Gson 검색 후 원하는 버전 클릭 3. Files칸에 jar를 눌러서 다운로드 4. Intellij -> File -> Project Structure 5. Program Settings -> Libraries -> +버튼 누르기 6. Java 클릭 7. 방금 다운받은 jar 파일을 찾아서 클릭 -> OK 8. Apply -> OK 9. 잘 되었나 확인해보기 왼쪽 파일 목록에서 External Libraries 에 gson이 있는지 확인 Gson 객체를 생성했을때 에러없이 성공하면 완료! (에러가 뜬다면 Gson에 마우스 커서를 갖다대고 Alt+Enter를 클릭, 자동으로 Gson 라이브러리를 import)..

Study/Java 2021.07.04

[백준/파이썬] 1978. 소수 찾기

문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. 아이디어 소수는 약수가 1과 자기자신 총 2개밖에 없다는 점 코드 num = int(input()) lis = list(map(int,input().split(" "))) count = 0 for x in lis: if x!=1: remain = [] for y in range(1,x+1): if x%y ==0: remain.append(y) if len(remain) == 2: count+=1 print(count) 해설 num = int(in..

[Naver Cloud Platform/Server] 네이버 클라우드 플랫폼으로 서버 구축하기 (with Ubuntu Linux) +21.06.19 update

학교 실습을 진행하려면 내 서버가 있어야 한대서,,, 주말에 날 잡고 만들어 보기로 했다. 사실 이전에 서버 만들어보겠답시고 학교 랩실 컴퓨터를 메인으로 두고 쓸려고 했는데 학교에서 막아둔건지,,, 서버 구축은 장렬히 실패; 그냥 민간인의 집에 서버를 만들기는 사실 가능하긴 하나.. 엄청난 전기료를 납부해야한다. 실제로 과 후배가 자기 자취방에 서버 만들어 뒀다고 했는데 전기세 5만원 나온다고 했던 기억이.. 난 차마 엄청난 전기료를 납부할 자신은 없어서..(할많돈없) 클라우드 서비스를 이용하기로 했다. 일단 난 거지 대학생이니까 무료 클라우드 서비스를 이용해야한다. AWS는 저번에도 배워봤는데 너무 어려워서 일단 패스. GCP는 트라이얼 버전 기한이 끝나서 패스. Azure는 무료 평가판 있긴한데 한 ..

Study/Linux 2021.06.19

[MariaDB/PyMySQL] 마리아 디비 컬럼 타입 변경 방법 및 테이블 조회

테이블 생성 후 데이터 타입을 변경해야하는 경우가 있다. 직접 데이터를 넣어봤는데 생각보다 데이터의 크기가 너무 컸다던가, 실수로 잘못 설정했다던가 등등 ALTER TABLE 을 사용하면 데이터의 타입을 쉽게 변경할 수 있다. Book이라는 테이블의 picture 필드의 타입이 Binary(1)로 되어있는데 이를 BLOB로 변경하려고 한다. +)참고 : MariaDB에 이미지를 넣을 때 데이터 타입을 BLOB로 설정해야한다.(binary가 아니였다..) 데이터 타입을 변경하려면 아래와 같이 입력하면 된다. ALTER TABLE 테이블명 MODIFY 필드명 바꾸려는 데이터타입; ALTER TABLE Book MODIFY picture BLOB; desc 명령어로 제대로 수정되었는지 확인해보자. desc B..

Study/DataBase 2021.06.05

[MariaDB/Pymysql] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다 에러 해결법

"Can't connect to MySQL server on '106.10.57.110' ([WinError 10061] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다)" pymysql로 database를 만드는 코드를 작성했지만 어쩐지 연결이 잘 되지 않음 https://blog.dalso.org/it/4260 MYSQL(MariaDB)에서 외부접근이 되지않을때.(Feat. Can't connect to MySQL server on '192.168.x.x'(10061) - 달소씨의 위 사진처럼 mysql(mariadb)포트로 접속했을때 Can’t connect to MySQL server on ‘192.168.x.x'(10061) 오류가 발생했을때 해결방법이다. 먼저 mysql을 설치한 서버로..

Study/DataBase 2021.06.03

[Ubuntu/Error] E: Malformed entry 61 in list file /etc/apt/sources.list (URI parse), E:The list of sources could not be read. 해결방법

우분투에 MariaDB를 설치하다가 급 에러로 심장이 철렁했다;;;; SystemError: E:Malformed entry 61 in list file /etc/apt/sources.list (URI parse), E:The list of sources could not be read. 대충 해석해보면 --> E: 목록 파일 /etc/apt/source.list(URI 구문 분석), E:원본 목록을 읽을 수 없습니다. vi 에디터로 /etc/apt/source.list 를 열어서 61번째에 해당하는 문장을 지우고 저장했다. 문제해결쓰~

Study/Linux 2021.05.30