본문 바로가기

전체 글137

ch2. pygame basics 1. 창 띄우기 import pygame import sys from pygame.locals import * pygame.init() DISPLATSURF = pygame.display.set_mode((400,300)) pygame.display.set_caption('hello world') while True: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() pygame.display.update() - pygame.init( ) 을 통해 import 해온 pygame을 호출 - 종료 시 pygame.quit( ) 가 호출되기 전에 pygame 프로그램이 종료되면 IDLE가 중단되는 버그가 있다. 2022. 8. 24.
그룹 단어 체커 - 1316번 검사할 단어들을 배열에 저장한 다음에 한개씩 꺼낸다. 검사할 단어를 처음부터 한글자씩 스캔한다. 각 글자를 검사할 때 검사용 배열(check = [ ])을 만들어 검사할 단어의 첫글자를 넣어준다. 1. check[-1]과 스캔대상인 글자 대상을 비교하여 같으면 pass해준다. 2. 같지 않으면 check에 스캔중인 글자가 있는지 check.count(글자)로 검사해준다 2-1. 만약 없으면 check.append(글자)를 해준다 2-2. 만약 있으면 문제에서 찾고자하는 그룹단어가 아님으로 바로 break를 걸어주고 출력할 결과 N에서 1을 빼준다. n = int(input()) l = [] for i in range(n): l.append(input()) result = n for i in l: chec.. 2022. 8. 17.
기타줄 - 1049번 필요한 기타줄 N개를 살 때 브랜드에서 제공하는 판매방식인 "6개 세트, 낱개" 2가지 방식에 대하여 구매할 수 있는 방식은 총 3가지 이다. 1. 모두 낱개로 산다. 2. 구매하는 기타줄이 정확히 N개가 되도록 6개 세트와 낱개로 산다. 3. 구매하는 기타줄이 N개보다 커도 되게 모두 6개 세트만 산다. 이 3가지 방식을 사용할 때 필요한 기타줄의 가격은 모든 브랜드중에서 6개 세트가 가장 싼 곳과 낱개가 가장 싼 곳의 정보만 필요하다. 구매할 수 있는 방식 3가지와 가장 싼 곳의 정보를 가져와 비용을 계산하여 가장 작은 비용을 출력한다. import math n,m = map(int,input().split()) price_6 = 1000 price_1 = 1000 for i in range(m): .. 2022. 7. 30.
크면서 작은 수 - 2992번 도움받은 곳 : https://latte-is-horse.tistory.com/379 [solved.ac 실버3] 2992_크면서 작은 수 (파이썬, 순열) https://github.com/mangbaam/CodingTest GitHub - mangbaam/CodingTest: 프로그래머스, 백준 등 코딩테스트 풀이를 기록하는 저장소입니다. 프로그래머스, 백준 등 코딩테스트 풀이를 기록하는 저장소입니다. Con.. latte-is-horse.tistory.com (나중에 다시 풀어볼 것) from itertools import permutations n = input() all = list(set(map(lambda x: ''.join(x), (permutations(n,len(n)))))) all.s.. 2022. 7. 29.
돌 게임 - 9655번 주어진 수를 1부터 하나씩 키워보면서 규칙을 찾으면 풀 수 있는 쉬운 문제이다. n = int(input()) if n%2==1: print('SK') else: print("CY") 2022. 7. 27.
뒤집기 - 백준 1439번 주어진 수를 뒤집어야 한다. 00011000 은 가운데 11만 바꿔줘도 된다. (1번) 0 에서 1로, 1 에서 0으로 바뀌는 횟수를 세면 2번이다 이 횟수에 1을 더하고 2로 나눈 몫을 버림해주면 문제가 요구하는 최소횟수를 구할 수 있다. n = input() cont = 0 a = n[0] for i in n: if i == "1": if a == "1": pass else: cont+=1 a = "1" else: if a == '1': cont+=1 a = '0' else: pass print(int((cont+1)/2)) 2022. 7. 25.
BeautifulSoup - 특정 태그값 가져오기 import requests from bs4 import BeautifulSoup requests 와 BeautifulSoup 모듈을 가져온다 URL = "https://lolchess.gg/" 사용하고 싶은 주소를 가져온다 예제로 사용할 주소는 알바천국 주소이다 get_URL = requests.get(URL) print(get_URL, type(get_URL)) soup = BeautifulSoup(get_URL.text, "html.parser") print(str(soup)[:100]) print(type(soup)) TFT Stats, Leaderboards, League requests 로 주소를 사용가능하게 받아온다 bs4 로 url을 텍스트로 받아온다. (자료형은 이고, 굉장히 내용이 많기.. 2022. 7. 20.
기업 음성 관련 머신러닝 자료 Opencpop 중국 게임회사 넷이즈의 AI연구소가 중국 대학 등과 협력해서 만든 공개용 노래음성 데이터셋 여성 한명이 부른 중국어 노래로만 구성되어 있다. https://wenet.org.cn/opencpop/ Opencpop wenet.org.cn NC 소프트의 한국어 노래 음성 합성 시스템의 데모페이지 https://nc-ai.github.io/speech/publications/nsinger/#kor Demo page of N-Singer Sentence: 깜빡이며널 기다렸어 무슨 얘길 하고픈지 (Pronunciation): kkamppag-imyeo neol gidalyeoss-eo museun yaegil hagopeunji nc-ai.github.io 논문 : https://arxiv.org.. 2022. 7. 15.
Codeforces Round #804 (Div. 2) A. The Third Three Number Problem 처음에 시험에 도전하면서 특정 규칙을 찾아내다가 실패하여 시험이 끝난 후, 다른사람의 포스팅을 도움받았다. https://lem0nad3.tistory.com/m/103 Codeforces Round #804 (Div. 2) https://codeforces.com/contest/1699 Dashboard - Codeforces Round #804 (Div. 2) - Codeforces codeforces.com 2000점은 확정이다. 3솔해도 오렌지 퍼포가 나오다니.. 나쁜 생활 습관으로 인한 역류성 식도염.. lem0nad3.tistory.com [규칙] 정수 n이 홀수일 경우 적절한 a, b, c는 존재하지 않는다. -1을 출력한다 정수 n이 짝수일 경우 a, b, c는 a^b = 0, b^c = .. 2022. 7. 11.
수들의 합 - 백준 1789번 서로 다른 N개의 자연수들의 합 S가 주어졌을 때 N의 최대값을 구해야한다. N에 속하는 자연수들을 하나하나 구하는 과정은 굉장히 복잡하겠지만, N의 최대값을 구하는 과정은 간단하다. 자연수들의 집합 N에 속하는 자연수들을 1, 2, 3, ... 처럼 점점 작은 것부터 커진다고 생각한다. 1부터 하나씩 커져가며 합해진 합계가 S와 우연히 같아질 수도 있고 달라질 수도 있다. 우연히 같아질 경우는 생각하기 쉬우니 넘어가고, 달라질 경우에 대하여 생각해보자. 점점 커져가는 합계가 S에 근접하여 처음으로 음수가 되는 때가 있을 것이다. 이 때까지 수를 하나씩 샌 후 1을 빼주면 그 수가 N의 최대값이 된다. 왜냐하면 점점 커져가는 합계가 S에 근접하여 처음으로 음수가 되기 직전 앞에서 더해왔던 자연수들 중 몇.. 2022. 6. 28.
30 - 백준 10610번 30의 배수를 판단해야 한다. 1의 자리가 0으로 끝나야 하고 모든 자리수의 수를 다 더했을 경우 3의 배수가 되어야 한다. 그리고 만들 수 있는 수중 가장 큰 수를 만들어줘야하는 옵션이 있다. n = input() arr=[] # 배열로 바꾸기 for i in n: arr.append(i) sum = 0 # 각 자릿수의 수 합 구하기 for i in arr: sum+=int(i) # 30의 배수인지 판단 if '0' in arr and sum%3==0: # 가장 큰수를 만들어 줘야 함으로 내림차순 정렬 arr.sort() arr = arr[::-1] # 정답 출력 for j in arr: print(j,end="") else: print(-1) https://www.acmicpc.net/problem/.. 2022. 6. 26.
로프 - 백준 2217번 각 로프가 들 수 있는 최대 중량을 담은 배열을 내림차순으로 정렬한다. 인덱스 0번부터 끝까지 누적으로 로프들이 들 수 있는 최대중량을 계산하여 maximum 이라는 변수와 비교시켜 더 크면 maximum 변수를 최신화 해준다. 처음 최대값은 인덱스 0번의 값으로 해준다. n = int(input()) arr = [] for _ in range(n): a = int(input()) arr.append(a) arr.sort() arr = arr[::-1] maximum = arr[0] for i in range(n): if arr[i]*(i+1) > maximum: maximum = arr[i]*(i+1) print(maximum) https://www.acmicpc.net/problem/2217 2217.. 2022. 6. 25.