본문 바로가기

728x90
반응형

Dev/BAEKJOON 백준

[백준/BOJ] 백준 코딩 알고리즘 1929번 소수 구하기 Python 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입력 1 3 16 예제 출력 1 3 5 7 11 13 첫 번째 아이디어 소수 여부를 판별하는 것은 많은 알고리즘 문제에서 등장하고는 하는데, 그럴 때 보통 직관적으로 떠오르는 코드는 다음과 같다 def is_prime(n): if n in [0, 1]: return False else: for i in range(2, n): if n % i == 0: return False return True print(is_.. 더보기
[백준/BOJ] 백준 코딩 알고리즘 11729번 하노이 탑 이동 순서/Python 문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5개인 경우의 예시이다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N ≤ 20)이 주어진다. 출력 첫째 줄에 옮긴 횟수 K를 출력한다. 두 번째 줄부터 수행 과정을 출력한다. 두 번째 줄부터 K개의 줄에 걸쳐 두 정수 A B를 빈.. 더보기
[백준/BOJ] 백준 코딩 알고리즘 2447번 별 찍기 - 10/Python 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며, 이때 1 ≤ k < 8이다. 출력 첫째 줄부터 N번째 줄까지 별을 출력한다. 예제 입력 1 27 예제 출력 1 **************************.. 더보기
[백준/BOJ] 백준 코딩 알고리즘 1026번/Python 문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 코드 N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) A.sort() answer_list = ['0' for i in range(N)] copy_b = B.copy() for.. 더보기
[백준/BOJ] 백준 코딩 알고리즘 1935번/Python 백준 코딩 알고리즘 문제 1935번 백준 코딩 알고리즘 문제 1935번 풀이 - 사용 언어: Python # Practive 002 : Postfix # https://boj.kr/1935 N = int(input()) input_str = input() operand_stk = [] # save operand data to each chr operand_data = dict() for i in range(N): operand_data[chr(65+i)] = int(input()) # calculate input for c in input_str: if 65 더보기
[백준/BOJ] 백준 코딩 알고리즘 11049번/C++ 백준 코딩 알고리즘 문제 11049번 백준 코딩 알고리즘 문제 11049번 풀이 - 사용 언어: C++ 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 32 33 34 35 36 37 #include #include using namespace std; int mArr[501][2] = { 0, }; // 행렬 정보를 저장 int dp[501][501] = { 0, }; // 행렬i부터 j까지의 최소연산횟수를 저장 int main() { int N; cin >> N; for (int i = 1; i > mArr[i][0]; //i번째 행렬의 행값 cin >> mArr[i][1]; //i번째 행렬의 열값 .. 더보기
[백준/BOJ] 백준 코딩 알고리즘 11051번/C++ 백준 코딩 알고리즘 문제 11051번 백준 코딩 알고리즘 문제 11051번 풀이 - 사용 언어: C++ 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 #include using namespace std; int dp[1001][1001] = { 0, }; int main() { int N, K; cin >> N >> K; for (int i = 1; i 더보기
[백준/BOJ] 백준 코딩 알고리즘 11057번/C++ 백준 코딩 알고리즘 문제 11057번 백준 코딩 알고리즘 문제 11057번 풀이 - 사용 언어: C++ 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 32 33 34 35 36 37 38 39 40 41 42 #include using namespace std; int main() { int N; cin >> N; //행은 숫자 자리수 //열은 해당 자리수에 올 수 int dp[1001][10] = { 0, }; //초기화 for (int m = 0; m 더보기

728x90
반응형