본문 바로가기

전체

(155)
Windows terminal 설치 / 설정 변경하기 / 다양한 shell 추가하기 (anaconda prompt, cmder) 터미널 환경 컴퓨터의 interface는 크게 Graphical User Interface (GUI)와 Command Line Interface (CLI) 두 가지로 나눌 수 있다. 터미널 환경은 둘 중 CLI에 해당하고 마우스가 아닌 키보드로 명령(command)를 입력하는 방식을 통해 컴퓨터를 제어한다. 기본적으로 Window의 경우 윈도우키 + R 을 누르고 cmd 를 입력하여 터미널창을 열 수 있다. Shell (셸) 이란 무엇인가? 터미널의 명령어가 작동하는 interface 를 말한다. 셸을 통해 코어에 명령을 하면 코어에서 작동해서 리턴을 돌려준다. shell은 말그대로 껍데기라는 의미로, shell은 여러 종류가 존재한다. 윈도우의 powershell , cmd 등과 리눅스의 bashshe..
[백준/Python] 1715번: 카드 정렬하기(최소힙) import sys import heapq # input N = int(input()) arr = [] for i in range(N): arr.append(int(input())) # process answer = 0 heapq.heapify(arr) while True: if len(arr) == 1: break n1 = heapq.heappop(arr) n2 = heapq.heappop(arr) n3 = n1+n2 answer += n3 heapq.heappush(arr,n3) print(answer)
[프로그래머스/Python] 문자열 압축(중복체크/반복문) 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 1. 잘라놓고 비교 def text_coding(s, num): output = len(s) datalist = list(map(''.join, zip(*[iter(s)]*num))) datalist.append('A') #dummy prev = datalist[0] cnt = 0 for i in datalist: if prev == i: cnt += 1 else: if cnt >= 2: output = output - num*cnt + len(str(cn..
[프로그래머스/Python] 짝지어 제거하기(스택) 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 다 제거될 때까지 반복하는게 아니고 한번에 제거해야 시간초과가 나지 않는다. def solution(s): answer = 0 tmp = [] for i in s: if tmp and tmp[-1] == i: tmp.pop() else: tmp.append(i) return int(len(tmp) == 0) 시간초과 나는 코드 def solution(s): while True: if len(s)==0: return 1 prev = "" new_s =..
[프로그래머스/Python] 구명보트(그리디) 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr from collections import deque def solution(people, limit): answer = 0 people.sort() people = deque(people) while people: max_weight = people.pop() if people and max_weight + people[0]
[프로그래머스/Python] 소수찾기(완전탐색) 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr from itertools import permutations def isPrime(n, dp): max_length = int(n**0.5) for i in range(2, max_length+1): if dp[i] == True: for j in range(i*i, n+1, i): dp[j] = False return dp def solution(numbers): answer = 0 a = [] for i in range(1,len(number..
[프로그래머스/Python] 괄호변환(재귀/구현) 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴 programmers.co.kr def isRight(u): tmp = [] for i in u: if i == '(': tmp.append(i) if tmp and i == ')': tmp.pop() if len(tmp) == 0: return True else: return False def splitstr(w): cnt = [0,0] for idx, char in enumerate(w): if char == '(': cnt[0]+=1 if char == ')': cnt[1]+=1 if cn..
[프로그래머스/Python] 기능개발(큐) 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr def solution(progresses, speeds): answer = [] while progresses: #업데이트 for i in range(len(progresses)): progresses[i] += speeds[i] # 만약 첫번째꺼가 완료되면 완료된 애들 뺀다. if progresses[0] >= 100: cnt = 0 while progresses: if progresses[0] >= 100: progresses.pop(0) speed..