본문 바로가기

반응형

분류 전체보기

(107)
백준 17452 약수의합 파이썬(python) 문제: https://www.acmicpc.net/problem/17425 17425번: 약수의 합 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 풀이: 2022.01.13 - [Python 코딩테스트] - 수학: 백준 17427 약수의 합 2 파이썬(python) 수학: 백준 17427 약수의 합 2 파이썬(python) 문제: https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는..
수학: 백준 17427 약수의 합 2 파이썬(python) 문제: https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 풀이: 입력받은 N보다 작거나 같은 자연수의 약수들의 합을 구해야 하는 문제입니다. 이 문제에는 0.5초의 시간제한이 있어 일반적인 약수 구하는 알고리즘은 시간 초과가 발생합니다. 문제를 풀기위해 제곱근을 사용하는 약수 알고리즘을 사용했었는데 시간 초과가 발생했고 어떻게 하면 풀 수 있을지 고민을 많이 했던 문제입니다. 결국 구글링..
수학: 백준 4375 1 파이썬(python) 문제: https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 풀이: 이 문제는 1, 11, 111, 1111와 같이 1로 이루어진 수들로 나누어 떨어지는 수의 자릿수를 찾는 문제입니다. 입력을 무제한으로 받아야하기 때문에 try, except 문을 사용했고 EOF(end of file) 에러가 발생하면 종료되도록 처리해주어야 합니다. 2와 5로 나누어 떨어지지 않는 정수들은 모두 1로 이루어진 수들로 나누어 떨어지기 때문에 나누어 떨어지지 않을 경우를 생각할 필요는 없었고, num에 10을 곱하고 1을 더하는..
수학: 백준 1037 약수 문제: https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 풀이: 입력 받은 약수들을 정렬해서 맨 앞의 수와 맨 뒤의 수를 곱해주면 끝. 약수가 하나일 경우에는 제곱해주면 된다. 정답: import sys input = sys.stdin.readline n = int(input()) arr = list(map(int, input().split())) arr.sort() if(n == 1): print(arr[0] * arr[0]) else:..
[입문] IntelliJ 자바 어플리케이션 실행 방법 백기선 님의 인프런강의 "예제로 배우는 스프링 입문"의 내용을 정리한 글입니다. 1. 터미널 창에 ./mvnw package 입력 (maven 패키징을 하는 것) maven을 하는 과정 중에 Front 관련된 라이브러리를 생성해내는 플러그인이 있기 때문, 이 플러그인이 작동해야 localhost:8080에서 화면이 깨지지 않고 나타난다. 2.1 빌드된 jar 파일을 찾아서 실행해준다. 빌드된 jar 파일은 maven 패키징을 한 뒤 터미널에서 확인할 수 있다. 2.2 애플리케이션의 main 메서드로 가서 실행시켜준다. (단축키 Ctrl + Shift + F10) 3. 실행 후 콘솔창에서 확인되는 localhost의 주소를 브라우저에 입력해주면 애플리케이션의 실행 결과를 확인할 수 있다. 한 번이라도 ma..
그리디: 백준 10610 자바(Java) 30 문제: https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 풀이: 미르코가 원하는 30의 배수가 되는 가장 큰 수를 찾기 위해서는 맨 끝 숫자는 '0' 이어야 한다. 각 자리 수의 합이 3으로 나누어 떨어져야 한다. 이 두 가지 조건을 만족해야 한다. 먼저 입력받을 N은 10^5개의 숫자로 이루어져 있기 때문에 int 자료형의 범위를 벗어난다. 그렇기 때문에 문자열로 입력받은 후 크기가 10인 배열을 만들어 이 배열에 입력받은 수의 정보를 넣어주는 ..
그리디: 백준 2875 자바 대회 or 인턴 문제: https://www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N), www.acmicpc.net 풀이: 인턴쉽에 참여하는 인원 K명이 여학생, 남학생에서 빠지는 모든 경우의 수를 구해주면 된다. makeTeam함수에서는 만들 수 있는 팀의 수를 계산하고 max에는 팀의 수 중 가장 큰 값을 저장해준다. 정답: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public clas..
다이나믹 프로그래밍(DP) : 백준 9095 자바(Java) 1, 2, 3 더하기 문제: https://www.acmicpc.net/problem/9095 풀이: 규칙을 파악하고 모든 경우에 대해 계산한 값을 dp배열에 저장하고 입력받은 케이스를 출력하는 방식으로 풀었다. 규칙은 간단했다. 정수 1 1가지 정수 2 2가지 정수 3 3가지 정수 4 7가지 . . . 이렇게 내려가는데, 정수 4 = 정수 1 + 정수 2 + 정수 3 = 7가지 임을 알 수 있다. 이 규칙에 따라 dp 배열에 저장해주면 된다. 정답: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int[] dp; static int[] arr; static ..

반응형