Python

    [백트래킹] N과M(4)

    15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net n과m 시리즈를 전부 포스팅 할 필요는 없을 것 같아서 바로 4로 넘어왔다. 파이썬 문법이 간결해서 좋은데, 솔직히 삼항 연산자는 가독성도 그렇고 뭔가 마음에 안 든다... 자바나 자바스크립트처럼 cond ? a : b 하면 얼마나 좋아... 어차피 syntax sugar인데 짧게 하지.... 문제 자체는 별거 없었다. 재귀함수는 명료한 exit조건이 관건인데 항상 똑 부러지게 바로 결정을 못 하고 긴가민가 하다... N, M = map(int, (input()..

    [백트래킹] N과M(1)

    15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 = NpM 이니까 파이썬에 내장된 순열과 조합 구현 가능한 라이브러리가 있더라;; 너무 편해... from itertools import permutations as pm N, M = map(int, (input()).split()) for i in pm(list(map(lambda x: x + 1, range(N))), M): print(*i) ''' def get_result_recursive(pre:..

    [정렬] 단어 정렬

    1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 입력받은 단어들을 1. 짧은 순 2. 사전 순 으로 정렬하면 된다. 짧은순으로 정렬한 후 그 안에서 사전순으로 정렬하려고 하면 복잡해진다. 그냥 1. 사전 순 2. 짧은 순 으로 순서대로 정렬하면 조건에 만족하게 된다. from sys import stdin N = int(stdin.readline()) words: set = set() for i in range(N): word = str(stdin.readline()).replace('\n', ""..

    [정렬] 수 정렬하기2

    2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 내장메소드 써버리기 파이썬의 간결함은 정말... 충격적이다 from sys import stdin length = int(stdin.readline()) for i in sorted([int(stdin.readline()) for s in range(length)]): print(i)

    Python으로 단톡방 채팅 내용 키워드 분석하기

    일정이 붕 떠서 심심하던 차에, 문득 친구들이랑 떠드는 단톡방이나 한 번 까보고 싶어졌다. 하려는 일의 순서는 다음과 같다. 단톡방 대화내용 확보 대화내용을 화자별로 구분하여 저장 각 문장에서 단어를 추출하여 사용 빈도가 높은 순서대로 정렬 일단 대화 내보내기를 통해 단톡방의 내용을 txt파일로 받아놓는다. 데이터가 어떻게 구성되어 있는지를 확인해야 원하는 부분을 추출할 수 있기 때문에 txt파일을 열어서 확인해본다. 데이터 맨 윗줄은 단톡방 이름, 인원, 저장된 날짜가 노출되어 있었다. 마지막 채팅 이후 새 채팅이 시작된 시점에 날짜가 지난 경우 {시간}만 노출된 데이터도 있었고, 쭉 흝어보니 대화 데이터는 {시간},{이름} : {내용} 으로 표현되어 있었다. 내가 필요로 하는 데이터는 오직 {이름},..

    각 사이트 뉴스 크롤링 with python + 뉴스룸 카톡 전송 자동화

    이 글은 마크다운으로 작성되었습니다. 목차 뉴스룸이란 무엇인가 어떻게 자동화 하려고 했는가 어떻게 삽질했는가 어떻게 해결했는가 결과 1. 뉴스룸이란 무엇인가 📰 뉴스룸이란 무엇인가. 그것은 필자가 속해있는 오픈채팅방을 일컫는 말이다. 대충 이런 방 기본적으로 채팅방의 관리자가 매일 오전에 전날 혹은 당일의 IT뉴스, 시사뉴스, 각 신문사 헤드라인 등의 정보를 제공해주며 참가자들도 언제든 공유하고 싶은 뉴스를 올려 공유할 수 있다. 감사하게도 매일 뉴스를 올려주시는 기존 관리자님 덕분에 뉴스를 1분도 안 보는 내가 완전한 시사 무식쟁이가 되지 않을 수 있었으니 그 은혜가 참으로 크다 하겠다. 마침 기존 관리자분이 새 관리자를 구한다고 하셔서 그간의 은혜를 보은하고자 관리자를 이어받으려 하였으나, 아뿔싸! ..