본문 바로가기

전체 글

(35)
[백준 2292] 벌집 / 파이썬 시간제한 : 2초 메모리제한 : 128MB 문제 : 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 : 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 : 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 풀이 N번째 방을 가기 위해 지나가야 하는 방의 숫자는 그 방이 속한 테두리의 수열..
[백준 1712] 손익분기점 파이썬 시간제한 : 0.35초 메모리제한 : 128MB 문제 : 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EV..
[백준] 단계별로 풀어보기 : 함수 [15596] 정수 N개의 합 시간제한 : 0.1초 메모리제한 : 512MB 문제 : 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. def solve(a: list) -> int a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) 리턴값: a에 포함되어 있는 정수 n개의 합 (정수) 풀이 a(리스트)라는 매개변수를 받으면 그 리스트의 합을 반환하는 함수를 정의하였다. def solve(a): return sum(a) [4673] 셀프 넘버 시간제한 : 1초 메모리제한 : 256MB 문제 : 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 ..
[백준] 단계별로 풀어보기 : 1차원 배열 [10818] 최소, 최대 시간제한 : 1초 메모리제한 : 256MB 문제 : N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 : 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 풀이 최솟값과 최대값을 구하는 내장함수 min과 max를 사용하면 쉽게 풀 수 있다. N = int(input()) num = list(map(int, input().split())) print(min(num), max(num)) [2..
[백준] 단계별로 풀어보기 : 반복문 - 2 [2438] 별찍기 - 1 시간제한 : 1초 메모리제한 : 128MB 문제 : 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 입력 : 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 : 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 풀이 1부터 N개까지 반복문을 작성한 후, 반복되는 i만큼 '*'에 곱하여 출력하면 된다. N = int(input()) for i in range(1, N+1): print('*'*i) [2439] 별찍기 - 2 시간제한 : 1초 메모리제한 : 128MB 문제 : 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제. 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 입력 : 첫째 줄..
[백준] 단계별로 풀어보기 : 반복문 - 1 [2739] 구구단 시간제한 : 1초 메모리제한 : 128MB 문제 : N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 : 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력 : 출력형식과 같게 N*1부터 N*9까지 출력한다. 풀이 입력받은 수 N에 해당하는 구구단을 출력하면 되는 문제다. 이를 위해 N에 1~9까지의 반복문을 곱해주면 된다. 문제에서 요구하는 출력 형식에 맞추기 위해 f-string을 사용하여 답을 출력한다. N = int(input()) for i in range(1, 10): ans = N * i print(f'{N} * {i} = {ans}') [10950] 시간제한 : 1초 메모리제한 : 25..
[백준] 단계별로 풀어보기 : 조건문 틈틈히 시간 나는대로 백준 문제를 풀고 있는데 아무래도 기록을 해두는 편이 동기 부여와 공부에도 도움이 될 것 같아 따로 정리하기로 했다. [1330] 두 수 비교하기 시간제한 : 1초 메모리제한 : 512 MB 문제 : 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 입력 : 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. 출력 : 첫째 줄에 다음 세 가지 중 하나를 출력한다. A가 B보다 큰 경우에는 '>'를 출력한다. A가 B보다 작은 경우에는 '') elif A 23: H = C_H + A - 24 + 1 print(H, M) else: H = C_..
[Deep Learning] Gerhard Richter 소개하기 (자연어 처리, GAN) 프로젝트 명 : 게르하르트 리히터 전 - 우연성의 흐릿한 이미지 프로젝트 기간 : 2022.07.22. ~ 2022.07.27. 프로젝트 내용 : 게르하르트 리히터에 대한 소개와 이미지 처리가 있는 가상의 전시 구성해 보기 사용 데이터 : GOPRO 사진 데이터, Gerhard Richter 그림 이미지, Gerhard Richter에 대한 문서들 사용 방법 : 자연어 처리, Knowledge Graph, BERT Summerizer, GAN 주제 의식 예전에 미디어 전시 프로그램에 연구 보조원으로 참여한 적이 있습니다. 거기서 제가 맡은 업무는 인상파나 간송 등 다양한 주제로 구성된 미디어 아트 전시를 찾은 관람객들의 설문 내용을 분석하는 일이었습니다. 분석을 하면서 생각보다 원본 전시와 미디어 아트 ..