본문 바로가기

알고리즘3

[백준 2609] 최대공약수와 최소공배수 최대공약수와 최소공배수 문제 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 예제 입력 24 18 예제 출력 6 72 알고리즘 분류 수학 정수론 유클리드 호제법 코드 풀이 Python을 활용해서 본 문제를 푼다고 가정했을 때, 크게 3가지 방법으로 문제를 해결할 수 있다. 간단한 2가지 방법과, 정석적인 1가지 방법을 모두 소개해보도록 하겠다. 먼저 파이썬3 기준으로 최대공약수를 바로 구해주는 함수를 이용하여 문제를 풀어보자. 파이.. 2023. 4. 28.
[백준 10809] 알파벳 찾기 알파벳 찾기 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 예제 입력 baekjoon 예제 출력 1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7.. 2023. 4. 26.
[백준] 별 찍기 - 1번부터 9번까지 for 문을 활용한 대표적인 구현 문제 시리즈 중 하나로, 대표적으로 '별 찍기', '수열 출력하기', '문자열 출력하기' 등이 존재한다. 그 중에서도 가장 고전적이고 기초적이지만 파생 문제가 다양한 별찍기 문제를 조금씩 풀어보려 한다. 일단, 백준 사이트에서 1번 ~ 9번까지의 문제들을 간단하게 정리해봤다. 문제 수가 많아서 상세 내용은 생략하고, 공통 조건만 적고 개별 풀이로 바로 넘어가는 식으로 정리했다. 파이썬3을 기준으로 문제를 해결하였다. 별 찍기 - 공통 조건 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 별 찍기 - 1 가장 기초적인 문제이다. 첫 번째 줄에는 별 한 개, 두 번째 줄에는 별 두 개, ... 이런식으로 출력해.. 2023. 4. 23.