📖 question https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net ✍️ answer # 2609. 최대공약수와 최소공배수 import math a, b = map(int, input().split()) # 최대공약수 for i in range(min(a, b), 0, -1): # 최대공약수를 구하기 위해 나눌 수 있는 큰 값부터 대입해봄 if a % i == 0 and b % i == 0: # 둘다 나머지가 0일 때 공약수가 구해짐 print(i) break # 최소공배수 for i in range(max(a..
📖 question https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net ✍️ answer n = int(input()) studentList = [] for _ in range(n): student = input().split() # 입력을 리스트로 받음 student[1:] = list(map(int, student[1:])) studentList.append(student) # 미리 정의한 리스트에 리스트를 넣으면 이중 리스트가 됨 studentList.sort(key=lambda student: (student[3], s..
📕 데크의 개념과 구조 : Double Ended Queue의 약자로, 큐 두 개 중 하나를 뒤집어 양쪽 끝에서 삽입 연산과 삭제 연산을 수행할 수 있는 구조 💬 기억장소의 가장 일반적인 구조로 스택과 큐의 복합 형태이다. scroll: 입력을 한쪽 끝으로만 제한하는 입력 제한 데크 shelf: 출력을 한쪽 끝으로만 제한하는 출력 제한 데크 🔢 데크의 연산방법 1. 공백 데크 생성: createDeque(); 2. 원소 A 앞부분 삽입: insertFront(DQ, 'A'); 3. 원소 B 앞부분 삽입: insertFront(DQ, 'B'); 4. 원소 C 뒷부분 삽입: insertRear(DQ, 'C'); 5. 원소 앞부분 삭제: deleteFront(DQ); 6. 원소 뒷부분 삭제: deleteRe..
🤖 순차 자료구조를 이용한 큐의 구현 초기 상태 front = rear = -1 공백 상태 front = rear 포화 상태 rear = n-1 (마지막 인덱스) 1. 우선 공백 상태인 큐를 생성한다. 2. 큐가 공백 상태인지 포화 상태인지 검사한다. 3. 큐에 원소를 삽입한다. # 삽입 알고리즘 rear = rear + 1 if rear>m then overflow else x[rear] ← 삽입 # x는 큐의 이름, m은 배열의 크기 4. 큐에 삽입된 원소를 삭제한다. # 삭제 알고리즘 if front=0 then underflow else { 제거 ← x[front] front = front +1 } # front가 위치를 한 자리 뒤로 이동하여 삭제할 자리 준비 # (=제거 후에 한 칸 뒤로 움직임)
📖 question https://www.acmicpc.net/problem/2443 2443번: 별 찍기 - 6 첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net ✍️ answer star = int(input()) for i in range(star, 0, -1): # 5,4,3,2,1 print(" "*(star-i), end="") print("*" * (i-1), end="") print("*" * (i))
📖 question https://www.acmicpc.net/problem/10833 10833번: 사과 경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사 www.acmicpc.net ✍️ answer school = int(input()) sum = 0 for i in range(school): student, apple = map(int, input().split()) a = apple % student # 학생에게 나눠주고 남은 사과 sum += a # 시과의 합을 구함 print(sum)
📖 question https://www.acmicpc.net/problem/10984 10984번: 내 학점을 구해줘 게으른 근우는 열심히 놀다가 문득, 자신의 학점 평균이 얼마일지 궁금해졌다. 학사시스템도 들어가기 귀찮아하는 근우를 위해 구해주도록 하자. www.acmicpc.net ✍️ answer semester = int(input()) for _ in range(semester): n = int(input()) sum_c = 0 sum_g = 0 for _ in range(n): c, g = input().split() c = int(c) g = float(g) sum_c += c sum_g += g*c # 학점평균 구하는 법 => (학점*점수의 합 / 총합점) print(sum_c, roun..