2021.03.28 문제 링크 문제설명 NXN 크기의 시험관 바이러스는 1번부터 K번 중 하나 1초마다 상하좌우 방향으로 증식하며, 번호가 낮은 바이러스 먼저 증식. 증식하려는 곳에 이미 바이러스가 있으면 증식 안함. S초 뒤에 주어진 좌표에 바이러스 종류를 찾는 문제 solution 바이러스 목록을 만듭니다. (맵을 돌며 바이러스가 있다면 해당 번호 목록에 넣음) S초 동안 바이러스가 퍼집니다. 네 방향을 돌며 바이러스가 퍼집니다. 이미 바이러스가 있다면 퍼지지 않습니다. 퍼진 바이러스는 기존 바이러스 목록에 포함시킵니다. (for loop에 영향받지 않도록 새로운 목록에 담아서 나중에 추가하는 방식으로 구현) 주어진 좌표에 있는 바이러스 종류를 리턴합니다. 구현1. 30564KB, 1004ms 한번 ..
Python 가상환경 파이썬으로 개발을 진행하면서 목적에 맞게 새로운 패키지와 모듈을 사용하게 됩니다. Django 개발을 위해 환경구축을 할 때, 여러가지 버전 중 특정 버전을 사용하여 개발하기 위해 가상환경을 구축하여 분리해 개발을 진행했습니다. 이처럼 응용프로그램에 특정 버전의 라이브러리가 필요한데, 같은 시스템의 다른 응용 프로그램에서는 다른 버전이 필요한 경우가 생길 수 있습니다. 가상환경을 구축함으로써 환경을 분리하여 이를 가능하게 할 수 있습니다. Virtual environment Python에서 가상환경을 만들고 관리하는데 사용하는 모듈은 venv 입니다. 만약 여러 Python 버전이 있다면 구축한 가상환경에서 사용할 Python 버전을 선택할 수 있습니다. 가상환경이란, 같은 시스템에..
2020.02.09 CHAPTER12 구현 문제 삼성전자 SW 역량테스트 뱀 import sys sys.stdin = open('input.txt', 'r') from collections import deque as dq # 이동 위치 Tuple dy = (0, 1, 0, -1) dx = (1, 0, -1, 0) # NxN map (0:빈칸, 1:사과, 2:뱀), 0,0 에서 뱀 시작 N = int(input()) myMap = [[0 for _ in range(N)] for _ in range(N)] myMap[0][0] = 2 # 사과 위치 놓기 K = int(input()) for _ in range(K): y, x = map(int, input().split()) m..
2020.02.01 CHAPTER12 구현 문제 2020 카카오 신입 공채 자물쇠와 열쇠 ''' i : 왼쪽으로부터 떨어진 정도 j : 위쪽으로부터 떨어진 정도 => 각도를 똘리면 4면중 다른 쪽으로부터 떨어진 정도가 된다 0도 (i, j) => (i, j) 90도 (i, j) => (j, N-1 - i) 180도 (i, j) => (N-1 - i, N-1 - j) 270도 (i, j) => (N-1-j, i) ''' def solution(key, lock): answer = False M, N = len(key), len(lock) lockSum = sum([sum(partList) for partList in lock]) # dir 0:0도, 1:90도, ..
2021.01.31 CHAPTER12 구현 문제 2020 카카오 신입 공채 09 문자열 압축 import sys sys.stdin = open("input.txt", "r") def check(_cnt, _n): if _cnt > 1: # 연속으로 중복된 문자열이 존재할 경우 # 중복된 문자열의 개수(_cnt)의 자릿수 # (ex. 3개면 1자리, 12개면 2자리)를 계산해서 # 문자열의 길이(_n)와 더해 리턴한다. ret = 0 while _cnt > 0: ret += 1 _cnt //= 10 return _n + ret else: # 연속으로 중복된 문자열이 존재하지 않으면 그냥 문자열의 길이(_n) 리턴. return _n def solution(s): answer = float('inf&..
2021.01.31 CHAPTER12 구현 문제 08 문자열 재정렬 import sys sys.stdin = open("input.txt", "r") def getResult(_input): ret = '' front = 0 back = len(_input) - 1 if _input[front] >= ord('A') or _input[back] = ord('A'): back = mid else: front = mid ret += ''.join(l..
2019 카카오 신입 공채 무지의 먹방라이브 # 20210125 # CHAPTER11 Greedy # Q06 무지의 먹방라이브 # 먹어야 할 음식 N개 # K ~ K+1 초에 먹을 음식 번호는? import sys sys.stdin = open("input.txt", "r") def solution(food_times, k): answer = -1 size_list = sorted(list(set(food_times))) number_of_sizes = [0] * (size_list[-1] + 1) for n in food_times: number_of_sizes[n] += 1 # print(number_of_sizes) # 누적배열만들기 for idx in range(len(size_list) - 1,..
# 20210124 # CHAPTER11 Greedy # Q04 만들 수 없는 금액 # 동전 N개 # 1 현재 수를 더한 것이 가장 큰 수가 될 수밖에 없음. import sys sys.stdin = open("input.txt", "r") def getResult(_list): ret = 0 max_n = 0 for n in _list: if max_n + 1 >= n: max_n += n else: ret = max_n + 1 break return ret N = int(input()) input_list = list(map(int, list(input().split()))) input_list.sort() print(getResult(input_list))
Comment