알고리즘

기록하는 개발생활
[PYTHON/파이썬] 백준 BAEKJOON 14888번 연산자 끼워넣기
·알고리즘
문제링크https://www.acmicpc.net/problem/14888문제 풀이이 문제는 주어진 숫자와 연산자를 사용하여 가능한 모든 식을 만들고, 그 결과 중에서 가장 큰 값과 가장 작은 값을 찾는 문제입니다. 예를 들어, 숫자가 1, 2, 3이고, 연산자가 +, -, *, /일 때, 이 숫자들 사이에 연산자를 넣어서 여러 가지 경우를 계산하는 것입니다.코드 설명입력 받기:숫자의 개수, 숫자 리스트, 각 연산자의 개수를 입력받습니다.최대값과 최소값 초기화:최대값은 아주 작은 수로, 최소값은 아주 큰 수로 초기화합니다. 나중에 계산하면서 이 값들을 업데이트할 것입니다.DFS 함수:dfs라는 함수를 정의합니다. 이 함수는 현재 숫자 위치와 지금까지 계산된 값을 인자로 받습니다.만약 모든 숫자를 다 사용..
[JAVA/자바] 백준 BAEKJOON 2563번 색종이
·알고리즘
문제링크https://www.acmicpc.net/problem/2563문제 풀이 도화지를 2차원 배열로 표현: 크기가 100x100인 boolean 배열을 생성색종이를 도화지에 붙이기: 입력받은 좌표를 바탕으로 색종이가 붙는 영역을 true로 설정검은 영역의 넓이 계산: 배열에서 true인 값의 개수를 세어 출력 코드import java.util.Scanner;public class BlackPaperArea { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 도화지 크기 정의 boolean[][] canvas = new boolean[100..
[PYTHON/파이썬] 백준 BAEKJOON 2609번 최대공약수와 최소공배수
·알고리즘
문제링크https://www.acmicpc.net/problem/2609문제 풀이1. 공약수를 직접 구하는 방법 1부터 두 수 중 작은 수까지 반복하면서 공약수를 구합니다.공약수 중 가장 큰 값을 max(tmp)로 출력합니다. 이것이 최대공약수(GCD)입니다.최대공약수를 이용하여 두 가지 방법으로 최소공배수(LCM)를 계산합니다:방법 1: GCD * (a // GCD) * (b // GCD)방법 2: (a * b) // GCD 2. 유클리드 호제법 (반복문) 큰 수를 n, 작은 수를 m으로 설정합니다.m이 0이 될 때까지 n을 m으로 나눈 나머지를 반복적으로 계산합니다.나머지가 0이 되면, 마지막 n이 최대공약수(GCD)가 됩니다.최소공배수는 (a * b) // GCD로 계산합니다. 3. 유클리드 호제법..
[JAVA/자바] 백준 BAEKJOON 3048번 개미
·알고리즘
문제링크https://www.acmicpc.net/problem/3048문제 풀이두 그룹의 개미가 서로 반대 방향으로 이동하며, 개미가 만나면 점프하여 위치를 바꾸는 과정을 T초 동안 반복하는 것입니다. 먼저 두 그룹의 개미 수를 입력받고, 각 그룹의 개미 순서를 리스트에 저장합니다. 첫 번째 그룹의 개미는 역순으로 추가하여 리스트의 앞쪽에 위치하게 하고, 두 번째 그룹의 개미는 순서대로 추가합니다. 이후 T초 동안 리스트를 순회하며 서로 다른 그룹의 개미를 발견할 때마다 위치를 교환하고, 교환 후 인덱스를 하나 건너뛰어 다음 비교를 진행합니다. 마지막으로 최종 개미 순서를 출력합니다. 코드import java.io.BufferedReader;import java.io.IOException;import ..
remazitensi
'알고리즘' 카테고리의 글 목록