Python(7)
-
[Python/파이썬] 코드포스 문제 풀어보기 6. Team, 7.Domino Piling
우선 6. Team부터 풀어보자. 난이도 800짜리이다. https://codeforces.com/problemset/problem/231/A Problem - 231A - Codeforces codeforces.com 세 명이 입력 n개의 문제를 푸는데, 적어도 두명이 정답을 확신한다면 프로그램을 실행한다고 한다. 그냥 리스트에 입력을 넣어주고 상황에 따라 비교해주면 될 것 같았다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 x = int(input()) l1 = [] for i in range(0,x): row = input().split() l1.append(row) count = 0 for i in range(0,x): summ = 0 for j in range(0..
2019.11.09 -
[Python/파이썬] 코드포스 문제 풀어보기 5. String Task
https://codeforces.com/problemset/problem/118/A Problem - 118A - Codeforces codeforces.com 난이도 1100짜리이다. 모음은 무시하고, 대문자는 소문자로, 자음은 자음 사이사이에 .을 찍어서 출력해줘야 한다. x = input() x = x.lower() x = list(x) l1 = "aoueiy" l1 = list(l1) x_len = len(x) i=0 while(x_len != 0): if x[i] in l1: del x[i] else: i+=1 x_len-=1 x = '.'.join(x) x = list(x) x.insert(0,'.') x = ''.join(x) print(x) 코드가 좀 지저분한것 같다.
2019.11.09 -
[Python/파이썬] 코드포스 문제 풀어보기 4. Next Round
난이도 1800짜리 문제다. n은 선수의 수를 입력받고, k는 n 선수 중에서 kth번째 선수를 의미한다. 그 다음으로는 n개의 점수를 입력받고, kth번째 선수보다 큰 사람들을 다음 라운드 진출자로 출력해주면 된다. 조건은 대회 참가자가 양수의 score를 얻어야 하므로 점수가 0이라면 count를 증가시키지 않으면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 x,y = input().split() x = int(x) y = int(y) l1 = [] l1 = input().split() pivot = int(l1[y-1]) count = 0 for i in range(0,x): if((int(l1[i]) >= pivot) & (int(l1[i]) != 0)): count+=1 p..
2019.11.08 -
[Python/파이썬] 코드포스 문제 풀어보기 3. Way Too Long Words
난이도 800점짜리 문제다. 단어가 매우 길다면 (10 char 초과이면) 간략화시켜야 한다.간략화 과정은 첫번째와 마지막 char을 쓰고 그 사이에 단어의 길이를 써주는 것이다. 예를들어 단어가 'localization'이라면 첫번째와 마지막 문자인 ln, 그 사이에 'ocalizatio'의 문자 갯수인 10을 넣어서 l10n을 출력한다. 매우 간단한 프로그램으로 예상된다. 1 2 3 4 5 6 7 8 9 10 11 x = int(input()) li = [] for i in range (0,x): y = input() li.append(y) for i in range(0,x): if(len(li[i]) > 10): print(li[i][0]+ str(len(li[i])-2)+ li[i][-1]) el..
2019.11.08 -
[Python/파이썬] 코드포스 문제 풀어보기 2.Theatre Square
m*n 직사각형 안에 a*a만큼 정사각형을 넣어서 직사각형을 가득 채울 수 있는 정사각형 a*a의 최소 개수를 구하는 문제다. 간단하게 생각했을땐 우선 m에 a가 몇개가 채워지는지를 구하고, n에 a가 몇개 채워지는지를 구한 다음 둘을 곱하면 답이 될 것 같았다. 1 2 3 4 5 import math m,n,a = (input().split()) print(math.ceil(int(m)/int(a)) * math.ceil(int(n)/int(a))) cs m,n,a 세가지 입력을 받은 후 math 라이브러리에서 올림 함수로 짰다. Accept되었다.
2019.11.08 -
[Python/파이썬] 코드포스 문제 풀어보기 1.Watermelon
난이도 1200짜리 문제이다. 문제는 정수형 입력 x를 받아서 이 x가 두가지 짝수로 나뉠 수 있는지를 묻는 문제였다. 그냥 제일 간단하게 생각해서, 홀수면 절대로 두가지 짝수로 나뉠 수 없으니, 짝수인지 확인하면 될것 같았다. 짝수중에서 2는 1+1밖에 안되므로 2는 예외처리했다. 1 2 3 4 5 6 x = int(input()) if((x != 2) & (x%2 == 0)): print("yes") else: print("no") cs Accept는 되긴 했는데 너무 간단해서 당황스러웠다.
2019.11.08