전체 글 99

[백준/파이썬] 1026. 보물

문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0]×B[0] + ... + A[N-1]×B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력 첫째 줄에 S의 최솟값을 출력한다. 아이디어 어..

[백준/파이썬] 2745. 진법 변환

문제 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) B진법 수 N을 10진법으로 바꾸면, 항상 10억보다 작거나 같다. 출력 첫째 줄에 B진법 수 N을 10진법으로 출력한다. 아이디어 2진수 '1010'를 10진수 '10'으로 바꿀 때 어떻게 했는지 생각을 해보면 답이 쉽게 풀릴 것 같다. > 진수를 밑으로 두고 자릿수를 지수 자리로 둔 다음, 해당 자릿수의 값들과 곱한다! ▼자세한 내용은 아래 블로그 참고▼ h..

[백준/파이썬] 11005. 진법 변환 2

문제 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다. 출력 첫째 줄에 10진법 수 N을 B진법으로 출력한다. 아이디어 10진수를 원하는 진법으로 바꾸려면 나눗셈의 몫과 나머지가 필요하다는 점 해결과정 1. 10진수를 원하는 진법으로 바꾸려면 숫자를 나눠서 나눗셈의 나머지를 진법에 맞게 변환해주면 된다. ex) 10진수 숫자 10을 2진수로 바꾸려면 숫자를 계속 나눠서 나오는..

[한빛미디어/리뷰] 업무에 바로 쓰는 SQL 튜닝

오픈소스 DBMS 중 글로벌 시장 점유율 1위를 차지하고 있는 MySQL , MySQL과 유사한 MariaDB. 우리나라에서도 MySQL, MariaDB 의 비중이 점차 높아지고 있다. 따라서 SQL에 대한 이해, SQL 튜닝 등은 필수적인 과정이 되었다. 그에 반해 SQL 튜닝, 좋은 쿼리를 짜는 방법에 대해 알려주는 서적이 없었는데 한빛미디어에서 SQL 튜닝신간도서가 출간되었다. 이 책은 MySQL 계열의 쿼리튜닝을 위해 알아둬야하는 용어, 매커니즘을 소개한다. 쿼리튜닝을 통해 쿼리문을 보다 간결하게 짜면서 효율적으로 작성하는 스킬을 터득할 수 있다. 튜닝에 대한 이해 이전에 MySQL과 MariaDB의 기본적인 쿼리문에 대해 이해한다. 또한 DB 엔진의 구성요소와 SQL문이 수행되는 프로세스에 대해..

Study/Review 2021.07.25

[백준/파이썬] 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