728x90 전체 글71 [Algorithm] 백준온라인저지 1934번(BOJ-1934) 최소공배수 Java로 문제풀이!! (수학) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 1934번 최소공배수 문제를 풀어보겠습니다. 1. 문제 설명 설명에 앞서 아래 링크를 통해 문제를 읽고 오시길 바랍니다. https://www.acmicpc.net/problem/1934 문제는 두 개의 수 사이의 최소공배수를 구하는 문제입니다. 최소공배수를 구하는 공식은 다음과 같이 표현할 수 있습니다. 최소공배수 = 두 개의 수 곱 / 최대공약수 왜 그런지는 소인수 분해를 해보시면 두 개의 수를 놓고 소인수 분해를 해보시면 쉽게 이해할 수 있습니다. 그렇다면 우리는 최대공약수를 구해야 합니다. 최대공약수를 구하는 알고리즘은 유클리드 호제법이 있습니다. 유클리드 호제법이 대해서는 제가 포스팅한 내용이 있으니 궁금하면 아래 링크.. Algorithm & Data Structure/문제풀이 2021. 7. 24. [Algorithm] 유클리드 호제법을 Java로 구현해보자!! (with BOJ 2609) 안녕하세요 Coding-Knowjam입니다. 오늘은 유클리드 호제법에 대해서 알아보고 코드로 구현해보겠습니다. 그리고 추가적으로 백준 온라인 저지에 있는 BOJ 2609번 최대공약수 문제도 같이 풀어보겠습니다. 1. 유클리드 호제법이란? (Euclidean Algorithm) 1.1 개념 유클리드 호제법은 두 개의 수가 주어졌을 때, 최대공약수를 구하는 알고리즘입니다. 일반적으로 우리가 수학을 배울 때, 두 수 사이의 최대공약수는 소인수분해를 하고 소인수들의 곱으로 구할 수 있었습니다. 소인수분해를 물론 코드로 구현할 수는 있겠지만 효율적이지는 않을 겁니다. 왜냐하면 우선 소인수분해를 위해 소수를 먼저 찾아야 하고, 찾은 소수가 두 개의 수를 공통적으로 나눌 수 있는지를 확인을 해야 하기 때문입니다. 만.. Algorithm & Data Structure/이론 2021. 7. 21. [Algorithm] 백준온라인저지 10430번(BOJ-10430) 나머지 Java로 문제 풀이 (수학) 안녕하세요 Coding-Knowjam입니다. 이번에 풀어볼 문제는 백준 온라인 저지에 있는 10430번 나머지 문제를 풀어보겠습니다. 1. 문제 설명 및 풀이 문제를 풀기 전에 아래 링크를 통해 문제를 읽고 오시길 바랍니다. https://www.acmicpc.net/problem/10430 문제풀이는 매우 간단하므로 바로 코드로 보여드리겠습니다. package study.blog.codingnojam.algorithm; import java.io.IOException; import java.util.Scanner; public class BOJ_10430 { // 백준온라인저지 10430번 나머지 Java로 문제 풀이 public static void main(String[] args) throws I.. Algorithm & Data Structure/문제풀이 2021. 7. 21. [Algorithm] 백준온라인저지 14499번(BOJ-14499) 주사위 굴리기 Java로 문제풀이(구현) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 14499번 주사위 굴리기 문제를 풀어보겠습니다. 1. 문제 설명 문제를 설명하기에 앞서 아래 링크를 통해 문제를 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/14499 이번 문제의 난이도는 골드 5로 크게 어렵지 않은 문제입니다. 문제풀이를 위해 특별한 알고리즘이 필요하지는 않고, 주어진 내용대로 구현만 하면 됩니다. 주사위가 굴러가면서 각각의 면에 위치하는 값들이 바뀌게 되는데, 이 부분만 주의해서 구현하면 다 푼 거나 다름없습니다. 그럼 코드를 살펴보겠습니다. 2. 문제 풀이 (Java) package study.blog.codingnojam.algorithm; import java.i.. Algorithm & Data Structure/문제풀이 2021. 7. 20. [Algorithm] 백준온라인저지 13458번(BOJ-13458) 시험 감독 Java로 문제풀이!! 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 13458번 시험감독 문제를 Java로 풀어보겠습니다. 1. 문제 설명 문제를 설명하기에 앞서 아래 링크를 통해서 문제를 읽고 와주시길 바랍니다. https://www.acmicpc.net/problem/13458 문제의 난이도는 브론즈 2로 상당히 쉬운 편에 속하는 문제입니다. 문제를 읽어보시면 아시겠지만 주어진대로 계산이 이루어지도록 구현만 하면 됩니다. 추가적으로 주의하실 점은 결괏값을 저장하는 변수를 int타입으로 하시면 안 된다는 점입니다. int의 경우는 보통 21억 정도까지 저장할 수 있는데, 해당 문제의 최악의 경우는 int의 범위를 벗어나기 때문입니다. 예를 들어서 모든 감독관은 1명만 감시할 수 있다고 하겠습니.. Algorithm & Data Structure/문제풀이 2021. 7. 18. [Algorithm] 백준온라인저지(BOJ) 14888번 연산자 끼워넣기 Java로 문제풀이!! (Backtracking) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 14888번 연산자 끼워넣기 문제를 풀어보겠습니다. 1. 문제 설명 문제에 대한 링크는 아래에 있으니 문제를 먼저 꼭 읽고 오시길 바랍니다. https://www.acmicpc.net/problem/14888 문제를 읽어보시면 아시겠지만 주어진 숫자와 연산자를 통해서 얻을 수 있는 최댓값과 최솟값을 구하면 되는 문제입니다. 주어진 숫자의 순서를 바꿀 수는 없으므로, 연산자의 조합을 통해서 문제를 해결하면 됩니다. 어떤 조합이 최댓값인지 최솟값인지 판단을 하는 게 중요한데, 애초에 주어진 숫자와 연산자의 개수가 많지 않기 때문에 모든 경우의 수를 확인해서 해결할 수 있습니다. (백트래킹, 브루트 포스 등등) 저는 연산자를 나열하는.. Algorithm & Data Structure/문제풀이 2021. 7. 15. [Algorithm] 백준온라인저지 13460번 구슬 탈출2 Java로 문제풀이!! (BOJ-13460) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지에 있는 13460번 구슬 탈출 2 문제를 풀어보겠습니다. 해당 문제는 백준 온라인 저지 삼성 SW 역량테스트 기출문제집에 들어있는 문제입니다. 1. 문제 설명 설명에 앞서 아래에 있는 링크를 통해서 풀어볼 문제를 읽어보고 오시길 바라겠습니다. https://www.acmicpc.net/problem/13460 해당 문제는 빨간 구슬이 탈출하는데 보드판을 몇 번 움직였는지를 구하는 문제입니다. 기본적으로 이런 문제는 BFS알고리즘을 통해서 접근을 하는 것이 좋다고 생각합니다. BFS알고리즘을 통해서 보통의 탈출 문제는 문제에서 요구하는 객체에 대한 이동 횟수를 구하기 마련인데 해당 문제는 빨간 구슬과 파란 구슬이 동시에 움직여야 하므로 .. Algorithm & Data Structure/문제풀이 2021. 7. 12. [Algorithm] 백준온라인저지 1759번 암호 만들기 Java로 문제풀이!! (BOJ-1759) 안녕하세요 Coding-Knowjam입니다. 오늘은 백준 온라인 저지 1759번 암호 만들기 문제를 풀어보겠습니다. 1. 문제 설명 해당 문제의 링크는 아래에 있으니 읽고 오시길 바랍니다. https://www.acmicpc.net/problem/1759 문제 레벨 : 골드 5 문제 키워드 : 백트래킹, 순열 조합 문제에서 요구하는 조건은 2가지입니다. 1. 패스워드는 사전 순서로 정렬되어있을 것 2. 모음 1개 이상, 자음 2개 이상으로 구성되어있을 것 문제를 풀기 위해서는 제시하는 조건을 만족하는 경우의 수를 모두 출력해야 합니다. 경우의 수를 모두 구하는 방법은 여러 가지가 있겠지만, 저는 순열을 구하는 방법을 조금 응용해서 구현하였습니다. 정답처리를 받고 나서 다른 사람들의 정답을 보니까 조합을 .. Algorithm & Data Structure/문제풀이 2021. 6. 24. 이전 1 ··· 3 4 5 6 7 8 9 다음 728x90