보호되어 있는 글입니다.
분류 전체보기
문제 링크 14502번: 연구소 문제 요약 연구소에 바이러스가 유출되었다. 바이러스는 벽을 뚫지 못하며 가로 또는 세로 한 칸씩 이동할 수 있다. 벽을 3개 세울 때, 확보할 수 있는 안전 공간의 최대 갯수를 구하고 싶다. 이 때 안전 공간은 벽으로 막혀서 바이러스가 오지 못하는 공간이다. 입력으로 N×M 크기의 연구소가 주어진다. 0은 빈공간, 1은 벽, 2는 바이러스를 의미한다. 풀이 과정 예시의 입출력에서 안전 공간을 최대로 확보할 수 있는 최적의 벽 위치를 컴퓨터가 어떻게 알 수 있을까 생각해본 후, 1) 모든 벽을 세우는 경우에 대해서 2) 안전 공간의 넓이를 계산하고 이의 최대값을 구한다. 라는 접근으로 풀 수밖에 없다고 생각이 들었다. 첫 번째 시도: for문으로 조건에 맞는 경우를 찾아 탐..
문제 링크 1010번: 다리 놓기 문제 요약 다리 놓기 문제는 서쪽의 N개 사이트와 동쪽의 M개 사이트를 연결하는 다리 N개를 서로 교차하지 않도록 짓고 싶다. N과 M이 (N ≤ M) 주어질 때, 다리 건설이 가능한 모든 경우의 갯수를 출력하시오. 풀이 설명 다리끼리 교차하지 않아야하므로, 답은 M개의 사이트에서 N개를 고르는 경우의 수=combination(range(M), N)의 길이이다. 이전 문제를 풀면서 itertools의 combination을 배웠던터라 무지성으로 신나게 아래와 같은 코드를 제출했다. print(len(list(combination(range(M), N)))) 결과는 시간초과이다. (제출 번호 71022244) 다시 정신 차리고, 경우의 수만 구하는 것이니 조합 식으로 M!..
문제 링크 15654번: N과 M(5) 문제 요약 N개의 서로 다른 정수가 주어진다. 이 때 서로 다른 정수로 길이가 M인 수열을 사전 순서대로 출력하세요. 풀이 설명 이 문제가 조건 아래에서 가능한 모든 경우를 탐색하는 백트래킹 알고리즘 유형인 것에 맞게, 모든 경우의 수열을 재귀적으로 탐색하여 출력하였다. (DFS) 더욱이 사전 순서대로 출력하는 것이어서 DFS 방식으로 경우를 탐색하는 것이 적절했다. N, M=map(int, input().split()) nums=list(map(int, input().split())) nums=sorted(nums) def dfs(nums_print, nums_left): if len(nums_print)==M: for i in range(M): print(num..
import string print(string.ascii_lowercase) >>abcdefghijklmnopqrstuvwxyz string — Common string operations Source code: Lib/string.py String constants: The constants defined in this module are: Custom String Formatting: The built-in string class provides the ability to do complex variable substitutions ... docs.python.org python 내장 라이브러리 string을 사용하면 쉽게 영어 소문자, 대문자를 불러올 수 있다! 이외에도 string.ascii_l..
Key-note를 듣고 다음 행선지를 정했다. [이전 이야기: 발표 세미나-1] [2023 모두콘 후기] 올해도 실망시키지 않았다, 최고의 인공지능 컨퍼런스👍 (발표 세미나-1) 2023년 12월 9일 토요일, 모두의연구소에서 주최하는 모두콘에 다녀왔다. Share Value, Grow Together 누구나 함께 지식을 공유하고 성장하는 연구 문화를 전파합니다. 모두의 연구소는 위와 같은 모토를 inseon.tistory.com [MODULABS] 어느날 연구실을 차려버렸다. 원래 카카오브레인의 이미지 생성 모델인 Karlo 개발기를 들으려다가, 어느날 연구실을 차려버렸다가 발표 장소가 가깝기도 하고, 카카오브레인 발표 라이브가 후에 공개되지 않을까라고 생각하고 이 발표를 들었다. (아직 Key-not..
2023년 12월 9일 토요일, 모두의연구소에서 주최하는 모두콘에 다녀왔다. Share Value, Grow Together 누구나 함께 지식을 공유하고 성장하는 연구 문화를 전파합니다. 모두의 연구소는 위와 같은 모토를 가지고 있는데, 이런 컨퍼런스가 아니면 인공지능 학계, 산업계에 있는 분들과 이야기할 수 있는 기회가 많지는 않은 비수도권 대학 재학생으로서, 지연, 학연, 혈연이 아니라 모두연이라고 할 만큼, 누구나에게 참가 기회를 주는 LAB, 풀잎스쿨, 그리고 작년부터 참가한 모두콘을 포함한 모두연의 프로그램들은 저에게 정말 소중하다고 할 수 있다! 또한, 인공지능 중 하나의 주제만 다루는 것이 아니라 text, image, 3D, video, robotics 나아가 AI+X, AI 스터디, AI..
문제 링크 28683번: 피타! 피타! 피타츄! 문제 요약 삼각형 한 변 길이의 제곱인 n이 주어진다. sqrt(n) 길이의 변을 가지는 가능한 합동이 아닌 서로 다른 직각삼각형의 갯수를 출력하라. 단, 직각삼각형의 최소한 두 변은 정수여야 한다. 가능한 직각삼각형의 갯수가 셀 수 없이 많다면 -1를 출력한다. (피타! 피타! 피타츄!의 의미를 글을 쓰면서 깨달았다 😅) 풀이 설명 꽤 여러번의 시도와 다른 사람들의 풀이를 참고한 끝에 문제를 풀었다. 첫 번째 시도: 경우의 수를 나누어 접근 (if n==제곱수) (시간 초과) 기존에는 n이 제곱수거나 아니거나의 두 가지 경우로 나누어 생각해보았다. n이 제곱수라면, 다른 한 변의 길이를 임의의 제곱수로 하고, 나머지는 적절한 길이로 두면 쉽게 두 개 변의..