전체 글 89

[공유/기록] 일일커밋의 효용성 by 창천향로

https://brunch.co.kr/@jojoldu/13 평소 내가 궁금해하던 부분이다.1일 1알고리즘, 1일 1포스팅을 하려고 노력하지만 왜 잘 안될까 이게 효과가 있을까 의문이 들 때가 있었다.이 글을 통해 일일커밋을 하면 좋은 점. 좋은 점을 확인할 수 있는 방법을 배웠다. 내가 하는 행동에 의문보다는 자신감을 갖자! 2017년 10월 12일 나의 커밋 히스토리

카테고리 없음 2017.10.12

[Python] subprocess, curl 활용하여 티켓 풀리면 알려주기

배타고 여행을 가려하는데 티켓이 언제풀릴지 몰라서 자리가 풀리면 이메일로 알려주는 코드를 짰다.만들생각 없었는데 같이 가는 사람들이 해달라그래서 했다. 결론은 못썼다.전화로 선박 회사에 물어보니 날짜와 시간을 알려주었 + 잘못짜서 이메일이 제대로 오지도 않았다. 그래도 이거 짜면서 새로 알게된 것이 있다. subprocess, curl 이다.subprocess는 Linux에 입력한 명령어의 결과를 파이썬으로 읽어들일 수 있도록 해준다.curl은 웹브라우저를 열어서 실행시켜준다. 내 코드import subprocess from subprocess import PIPE from bs4 import BeautifulSoup as BS import urllib.parse f = subprocess.Popen("..

Python 2017.10.12

[백준알고리즘] 2908번 / 상수 (python3)

https://www.acmicpc.net/problem/2908 내 코드nums = [list(x) for x in input().split()] a = '' b = '' for j in range(2, -1, -1): a += nums[0][j] b += nums[1][j] if a > b: print(a) else: print(b) 숏코딩 print(max(input()[::-1].split())) arr[::-1] 처음봤다. 처음부터 끝까지 -1칸 간격으로, 즉 역순으로 정렬하도록 하는 것이다. 이렇게 쓰는걸 Extended Slices라고 하는데, arr[A:B:C] 로 A, B, C의 조건에 맞춰서 배열을 만들어주는 것이다.파이썬에서는 문자열도 배열로 처리할 수 있기 때문에 input()으로 ..

Algorithm 2017.10.12

[카카오 신입 공채 1차] 2번 다트 게임 풀이

나의 코드import re def solution(dartResult): answer = 0 # 다트점수는 숫자, 문자, (특스문자)로 이루어져있다 - 정규표현식을 쓰는게 빠를듯 p1 = re.compile("(\d+)([a-zA-Z])") p2 = re.compile("(\d+)([a-zA-Z])+(\*|#)") # 문자를 나누면 한 세트씩 배열에 넣어 계산한다 [[점수1], [점수2], [점수3]] scores = p1.findall(dartResult) options = p2.findall(dartResult) # pow(숫자, 문자) * (옵션) result = [] for score, bonus in scores: if bonus == 'S': bonus = 1 elif bonus == 'D':..

Algorithm 2017.10.11

[카카오 신입 공채 1차] 1번 비밀지도 풀이

나의 코드def solution(n, arr1, arr2): answer = [] # arr의 각 요소 x를 2진수로 바꾼다 # arr1과 arr2의 숫자의 길이가 다르면? 2진수로 바꿀 때 무조건 n의 길이로 채워준다 arr11 = [format(int(bin(x)[2:]), '0={}'.format(n)) for x in arr1] arr22 = [format(int(bin(x)[2:]), '0={}'.format(n)) for x in arr2] for i in range(n): # arr1, 2에서 각각의 요소를 꺼내 비교한다 #: 각각 배열 하나씩 꺼낸다 a = arr11[i] b = arr22[i] # 자릿수를 비교하며 둘중에 하나라도 1이면 #을 추가 아니면 0 추가 ans = '' for ..

Algorithm 2017.10.11

후기/2018 1ST KAKAO BLIND RECRUITMENT

카카오 신입 공채 1차 코딩테스트응시해봤습니다. 너무나 어려웠습니다.1, 2번 문제만 다 풀었어요. 3, 5, 7번은 테스트케이스 다 통과 못했고, 6번은 건들지도 못했어요. 그런데, 이게 다른 코딩테스트에 비하면 굉장히 쉬운 것이라고 합니다. 충격.Crocus의 [Kakao] 2018 1ST KAKAO BLIND RECRUITMENT 후기특히나 이 글을 보고.. 내가 진짜 쪼렙이구나를 느꼈습니다.하지만 분발해야지! 나도 할 수 있다! 진짜야! 아자아자!

카테고리 없음 2017.10.11

맥북 사용중 전기가 올랐다!..

맥북을 쓰는데 자꾸 전기가 통한다는 느낌을 받았다. 시간이 지날수록 손이 좀 저리기 시작했다.산지 3달밖에 안됐는데 벌써 고장났나 싶어 걱정하며 검색해보니 맥북 본체가 알루미늄이라 어쩔 수 없다고 한다!.. 충격 다행히(?) 해결 방법이 있다고 한다. 1. 완충되면 충전케이블 빼기완충됐는데도 계속 충전을 하면 전기가 오른다고 한다.그래서 완충되었을 때 충전기를 빼니 전기가 느껴지지 않았다고 한다. 내가 알기론 충을 하지않으며 맥북을 사용할 때 맥북을 중고로 팔 때 확인하는 요소 중 하나의 카운트가 올라가 가격이 떨어진다고 한다.그래서 항상 충전기를 꼽고 사용하는 사람(그게 나다)에게는 좋은 방법은 아니다ㅋㅋㅋㅋㅋ 2. 접지케이블 구매인터넷에서 저렴하게는 8천원 정도면 구매 가능하다.외국에서는 기본이 접지..

카테고리 없음 2017.09.10

스케줄러 crontab 사용법

티켓 잔여석 알림을 만드는 중, 스케줄러를 찾다가 crontab을 알게 되었다. Linux, MacOS 둘 다에서 사용할 수 있다. 짱! 1. crontab 파일 열기 crontab -e 이미 존재한다면 수정모드로, 없다면 새로운 파일이 열린다. 2. 스케줄 입력하기 * * * * * command to execute │ │ │ │ │ │ │ │ │ └─── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0) │ │ │ └──────── month (1 - 12) │ │ └───────────── day of month (1 - 31) │ └────────────────── hour (0 ..

OS 2017.09.08

[백준알고리즘] 2675번 / 문자열 반복 (python3)

https://www.acmicpc.net/problem/2675 내 코드# 테스트케이스 개수 입력받기cnt = input() # 반복횟수와 문자열을 받는다for _ in range(int(cnt)): case = input() case = case.split() # 입력받은 문자열의 문자를 입력받은 횟수만큼 반복해서 출력한다 text = '' for c in case[1]: text += c*int(case[0]) print(text) 숏코딩 exec("r,_,*s=input();print(''.join(i*int(r)for i in s));"*int(input())) 숏코딩봐도 뭐라는지 모르겠다.. 도랏ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

Algorithm 2017.09.08