본문 바로가기

알고리즘/백준156

[BAEKJOON]13241 최소공배수 문제 요약알고리즘 분류: 유클리드호제법난이도: Silver5문제내용:최대 공배수를 구야여사이트: https://www.acmicpc.net/problem/13241문제풀이 이번 문제는 최대 공배수이다. 여러 가지 푸는 방법이 있지만 최적화로는 유클리드 호제법이라 최적의 방식이 있다 아래 글보고 바로 따라하면 푸는 데는 지장이 없다. 코드 설명은 아래 글만 봐도 이해하는데는 문제가 없다고 생각한다.https://jih3508.tistory.com/13 유클리드 호제법(Euclidean algorithm)이론1. 유클리드 호제법이란?두 개의 정수 혹은 다수의 자연수에서 최대공약수를 구하는 알고리즘이다. 원리는 두 수가 서로 나눠서 나머지를 구한다. 만약 나머지가 0이면 그 수가 최대 공약수jih3508.ti.. 2025. 5. 8.
[BAEKJOON]5639 이진 검색 트리 문제 요약알고리즘 분류: 트리, 트리 탐색난이도: Gold4문제내용:이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다.노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다.노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다.왼쪽, 오른쪽 서브트리도 이진 검색 트리이다.위 트리에서 전위 순회 한것을 후위 순회한 결과를 출력하여라사이트: https://www.acmicpc.net/problem/5639문제풀이 이번에는 문제 유형은 트리 탐색에 관련 문제이다. 트리에 관한 자세한 내용은 여기에서 보면된다.문제 접근방법이 문제의 핵심은 전위 순회 결과만 가지고 후위 순회 결과를 어떻게 구하느냐는 것입니다. 아래 와 같이 처음부터 집어 넣는 식으로 만들면 시간 .. 2025. 4. 29.
[BAEKJOON]11005 진법 변환 2 문제 요약알고리즘 분류: 구현, 수자난이도: Bronze1문제내용:10진수 N을 B진법으로 변환 하여라사이트: https://www.acmicpc.net/problem/11005문제풀이 이번 문제는 각 언어마다 진법을 변환 하는 방법만 알면 문제 푸는데 지장이 없을 것이다. CodePython 파이썬 다른 언어와 다르게 진법을 바꿔주는 함수가 없어서 직접 구현 해야 한다.number = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"N, B = map(int, input().split())s = ""while N: s += number[N % B] N //= Bprint(s[::-1])JavaInteger.toString(N, B): 10진수 N을 B진법으로 변환impor.. 2025. 4. 29.
[BAEKJOON]2745 진법 변환 문제 요약알고리즘 분류: 구현, 수자난이도: Bronze1문제내용:N을 B진법된것을 10진수로 변환 하여라사이트: https://www.acmicpc.net/problem/2745문제풀이 이번 문제는 각 언어마다 진법을 변환 하는 방법만 알면 문제 푸는데 지장이 없을 것이다. CodePythonint(N, B): B진법 된 N을 10진수로 변환 하여라N, B = input().split()B = int(B)print(int(N, B))JavaInteger.parseInt(N, B): B진법 된 N을 10진수로 변환 하여라import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.ut.. 2025. 4. 24.
[BAEKJOON]25206 너의 평점은 문제 요약알고리즘 분류: 구현, 문자열난이도: Bronze1문제내용:입력한 문자열 5줄을 세로로 읽은 순서대로 글자를 출력한다.사이트: https://www.acmicpc.net/problem/10798문제풀이 이번 문제는 어떻게 가로 문자열을 세로로 구현 하는 방법만 알면 되기때문에 구현은 아래와 같이 하면 쉽게 풀 수 있는 문제이다. 2차원 배열/리스트를 만들어 각 열의 문자들을 저장합니다.5줄의 입력을 처리하면서 각 문자를 해당하는 열 인덱스에 저장합니다.열의 개수는 입력에 따라 달라질 수 있으므로, 필요에 따라 동적으로 열을 추가합니다.모든 입력을 처리한 후, 각 열의 문자들을 순서대로 이어붙여 결과 문자열을 생성합니다.CodePythonstrings = [[]] # 2차원 리스트 초기화, 세.. 2025. 4. 24.
[BAEKJOON]25206 너의 평점은 문제 요약알고리즘 분류: 구현, 수학난이도: Silver5문제내용:전공평점은 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값P/F 과목 중 등급이 'P'인 과목은 계산에서 제외해야 함20줄에 걸쳐 과목명, 학점, 등급이 주어짐사이트: https://www.acmicpc.net/problem/25206문제풀이 이번 문제는 단순하게 구현과 소수 계산을 요구 하는 문제이다. 등급에 따른 과목평점을 정의 한 다음 과목평점이 P를 제외한 총학점과 총 과목 평점을 계산한 뒤 총 과목 평점 / 총 학점계산만 하면 끝이다. 자세한것은 아래 코드보면 된다.CodePython# 등급에 따른 과목평점 정의grades = { "A+" : 4.5, "A0": 4.0, "B+": 3.5, "B0": 3.. 2025. 4. 17.