프로그래밍 3

백준 9996번 - 정규식

import re n = int(input()) p = input().strip() p = p.split('*') pa = p[0] + '.*' + p[1] + '$' r = re.compile(pa) for i in range(n): instr = input().strip() res = r.match(instr) if res: print('DA') else: print('NE') 처음엔 pa 부분을 p[0] + '.*' + p[1] 으로 했는데 이러면 a*d와 매칭시킬 때 adb 도 매칭이 되는걸로 나온다. 이런 경우를 제외시키기 위해 a*d의 경우 d로 끝나야 한다는 조건인 $를 붙여줬다. $ 메타 문자 대신 fullmatch를 사용해도 된다.

[돌아만가는 알고리즘] 10진수 정수를 입력받아 다른 진수로 표현하기

def basechange(number,base): numberraw = number baseraw = base result = '' while number > 0: quotient = number//base if number - quotient*base == 0: result = result + '0' else: result = result + str(number-quotient*base) number = quotient print('{}를 {}진수로 표현하면 : {}'.format(numberraw,baseraw,result[::-1])) basechange(100,4) 우선 어떻게 작동하는지에 대한 설명 basechange라는 함수에 number라는 수와 base라는 진수가 주어지면 (이하 numb..

파이썬을 이용한 디스코드 PUBG 전적 봇 만들기(1) - 서론

과거 배그가 나오고 아직 한창일 때 학교 커뮤니티에서 사람들이 모여 배그 디코 서버를 만들었었다. 처음엔 각 방 사람들이 "어디어디 방에서 몇 명 구해요~" 하는 식으로 구인을 하기도하고 "누구누구 스쿼드 자리 찾아요~" 하고 구직을 하기도 했다. 그러던 어느날 유저 중 한 명이 파이썬을 이용해서 명령어를 넣으면 자동으로 '어느 채널에서 몇 명 구인합니다.' '누구누구 구직합니다.' 라는 메시지를 띄워주는 봇을 만들었다. 이 후 사람을 구하기도, 자리를 구하기도 훨씬 쉬워졌는데, 문제가 있다면 해당 유저가 컴퓨터를 24/7 켜놓을 수가 없었다는 점. 처음엔 HEROKU같은 서비스가 있다는 걸 몰랐어서 결국 연구실에 개인컴을 소지하고 있는 내가 해당 파일을 물려받아 내 컴퓨터에서 돌려놓기 시작했다. 그런데..