| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 신문 스크랩
- 코테
- it 뉴스
- python
- 코딩테스트
- 네트워크 관리사 2급 실기
- it 이슈
- 우테코
- Java
- 백준위
- IT 트렌드
- 싸피
- 프로그래머스
- 싸피셜
- 네트워크 관리사
- IT 동향
- SSAFY 7기
- KT
- 신문스크랩
- 리얼클래스
- html
- 코딩테스트 연습
- 네트워크 관리사 2급
- 인앱결제
- SSAFY
- 카카오
- 구글
- SSAFYcial
- java 객체지향 프로그래밍
- 백준
- Today
- Total
목록전체 글 (237)
개발자일걸요..?
문제링크 : www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 방법1. 주어진 약수 중 가장 작은 값과 가장 큰 값을 곱함 -> 루트N을 제외한 모든 약수는 둘 씩 짝지어 두 수의 곱이 N이 되도록 할 수 있다. #include #include #include using namespace std; int main() { int N = 0; cin >> N; vectornumbers; for (int i = 0; i < N; i++) { int n = 0..
문제링크 : www.acmicpc.net/problem/2981 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 방법1. for문을 이용하여 입력받은 수들의 나머지가 같은 M찾기 => 시간초과 import sys T = int(sys.stdin.readline()) numbers = [0 for _ in range(T)] max = 0 for i in range(0,T): N = int(sys.stdin.readline()) numbers[i] = N if(N>max) : max = N for i in range(2,max+..
문제링크 : www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 1) 유클리드 알고르즘(유클리드 호제법)을 이용하여 최대공약수 구하기 2) A*B= 최대공약수*최소공배수 공식 이용하여 최소공배수 구하기 def gcd(a,b): while(b!=0): a,b=b,a%b return a import sys T = int(sys.stdin.readline()) for _ in range(T): A, B = map(int, sys.stdin.read..
문제링크 : www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 유클리드 호제법 사용 유클리드 호제법 : 두 수가 서로 상대수를 나눠서 최대공약수를 구하는 알고리즘 예제) 78696과 19332의 최대공약수를 구하는 방법 78696 = 19332×4 + 1368 1 9332 = 1368×14 + 180 1368 = 180×7 + 108 180 = 108×1 + 72 108 = 72×1 + 36 72 = 36×2 + 0 => 최대공약수 : 72 +)참고 호제법 : ko.wikipedia.org/wiki/%EC%9C%A0%ED%81..
문제링크 : www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 알고리즘 1) 두 수 입력받기(종료조건에 부합하는지 확인) 2) 두 수 사이의 배수관계 확인 -> "첫번째수 / 두번째 수"의 나머지가 0이라면 첫번째 수가 두번째 수의 배수 -> "두번째수 / 첫번째 수"의 나머지가 0이라면 두번째 수가 첫번째 수의 배수 -> 위의 둘다 나머지가 0이 안나오면 아무 관계도 아님 import sys while(True): N, M = map(int, sys.stdin.readline().split()) if..
문제 링크 : www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 내 코드의 알고리즘 1) 인원 수 N이 N/2로 나누어질 수 있는 경우 구하기(같은 수 반복, 같은 경우 중복 없이) 2) 1)과정으로 구한 경우 list 중 반은 start팀으로 남은 반은 link팀으로 구분 -> 이때 팀 구분 순서중요 : start팀은 1)경우의 앞에서부터 / link팀은 1)경우의 뒤에서부터 ex) 1)의 결과가 [0,1], [0,2], [0,3], [1,2], [1,3], [2,3] 이라면 s..
문제링크 : www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 방법1. 재귀함수 (시간복잡도 : O(2^N)) => 시간 초과 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.StringTokenizer; public class Main { static int zero =0; static int one = 0; public static int fibonacci(int i) { if (i==0) { zero+=1..
문제 링크 : www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 15651번과 유사하지만 i번째 요소는 i-1번째 요소 보다 크거나 같아야 하기 때문에 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int arr[] = new int..
문제링크 : www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이전 15649번과 유사하나 수열에 모든 경우의 수가 올수 있다. ex) N = 4, M = 2였을 경우, 15649번 => arr의 경우의 수는 4*3가지 15650번 => arr의 경우의 수는 (4*3)/2가지 15651번 => arr의 경우의 수는 4*4 가지 import java.io.BufferedReader; import java.io.InputStreamReader; import ja..
문제링크 : www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이전 15649번 문제와 매우 유사하나 "중복을 허용하지 않는"이라는 제한이 더 걸렸다. 그래서 나는 수열을 만들때 i번 요소가 i-1번보다 무조건 커야한다는 조건으로 이전에 했던 수열을 다시 순서를 바꿔 조합하지 않게 만들었다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; i..