본문 바로가기

python-algorithm1422

[백준] 2711 1 2 3 4 5 6 import sys for i in range(int(sys.stdin.readline())): a,b=sys.stdin.readline().split() for j in range(len(b)): if j!=int(a)-1: print(b[j],end='') print() Colored by Color Scripter cs 2021. 1. 7.
[백준] 2675 1 2 3 4 5 for _ in range(int(input())): a,b=input().split() for i in b: print(i*int(a),end='') print() cs 문제가 문자열 b의 문자 하나하나를 a번 반복해서 출력하면 됩니다. 2021. 1. 7.
[백준] 2587 1 2 3 4 5 6 7 8 9 import statistics avg=0 mylist=[] for i in range(5): a=int(input()) avg+=a mylist.append(a) print( int (avg/5)) print(statistics.median(mylist)) cs 평균은 많이 들어보셔서 알겠지만 통계학에서는 자주 쓰이는데 중앙값은 조금 낯설수도 있습니다. statistics 라이브러리에 내장함수가 있습니다^-^ 2021. 1. 7.
[백준] 2562 1 2 3 4 5 6 7 8 9 cnt=0 mymax=0 for i in range(9): tmp=int(input()) if mymax 2021. 1. 7.
[백준] 2399 1 2 3 4 5 6 7 8 import sys n=int(sys.stdin.readline()) tmp=list(map(int, sys.stdin.readline().split())) cnt=0 for i in range(n): for j in range(n): cnt+=abs(tmp[i]-tmp[j]) print(cnt) Colored by Color Scripter cs pypy3로 풀었구요 죄송합니당.ㅠㅜㅠ 조건 그 자체로 구현 하는건 쉽습니다 하지만 python3 로 돌리면 시간초과가 뜨기에 손으로 수학문제 풀듯이 풀면 쉽게 구할거같은데...ㅋㅋ 2021. 1. 7.
[백준] 2386 1 2 3 4 5 6 7 8 9 10 import sys while True: s = sys.stdin.readline() cnt = 0 s=s.lower() if s[0]=='#': break else: for i in range(1,len(s)-1): if s[i]==s[0]: cnt+=1 print("%s %d"%(s[0], cnt)) cs 특이사항이 있다면 저는 python에서 입력받을때 input(), sys.stdin.readline() 이 두 함수를 씁니다. 저 두 함수의 큰 차이점이라고 하면 input()은 '\n' 개행문자는 line 3의 s에 포함되지 않고 sys.stdin.readline()함수는 개행문자까지 함께 s에 저장됩니다. 그래서 line 8에서 len(s)-1까지 범위를 지.. 2021. 1. 7.
[백준] 2309 1 2 3 4 5 6 7 8 9 10 11 12 13 mylist=[] for _ in range(9): mylist.append(int (input())) mysum=sum(mylist) mylist.sort() for i in range(9): for j in range(i+1,9): if mysum-mylist[i]-mylist[j]==100: for k in range(9): if k==i or k==j:continue else: print(mylist[k]) exit() cs 다 더하고 하나씩 빼보면서 100인지 확인하는 방식으로 코드를 짰습니다. 이런 방식을 브루트포스(bruteforce)라고 합니다. 2021. 1. 7.
[백준] 2292 1 2 3 4 5 6 N=int(input()) cnt=1 while N>1: N-=6*cnt cnt+=1 print(cnt) cs 사실 이 문제는 코드로 구현하는것 자체가 어려운게 아니라 문제를 이해하고 점화식을 구하는게 핵심으로 보입니다. 2021. 1. 7.
[백준] 2231 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def bunhaehap(n): num=list(map(int, str(n))) ans=n+sum(num) return ans n=int (input()) cnt=0 while bunhaehap(cnt)!=n: if cnt==n: cnt=0 break else: cnt+=1 print(cnt) cs 2021. 1. 7.
[백준] 2153 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import sys import math s=sys.stdin.readline() cnt=0 for i in range(len(s)-1): if 96 2021. 1. 7.
[백준] 2037 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import sys a,b=map(int, sys.stdin.readline().split()) s=sys.stdin.readline() cnt=0 for i in range(len(s)-1): if s[i]==' ' or s[i]== 'A' or s[i]== 'D' or s[i]== 'G' or s[i]== 'J' or s[i]== 'M' or s[i]== 'P' or s[i]== 'T' or s[i]== 'W': cnt+=a elif s[i]=='B' or s[i]== 'E' or s[i]== 'H' or s[i]== 'K' or s[i]== 'N' or s[i]== 'Q' or s[i]== 'U' or s[i]==.. 2021. 1. 6.
[백준] 2028 1 2 3 4 5 6 7 import sys for _ in range(int(sys.stdin.readline())): t=(sys.stdin.readline()) jagi=(int (t))**2 jagi= jagi%(10**(len(t)-1)) if jagi == int(t): print("YES") else: print("NO") cs 2021. 1. 6.