본문 바로가기

python-algorithm1413

[백준] 2744 1 2 3 4 5 6 7 import sys s=sys.stdin.readline() ans='' for i in range(len(s)-1): if s[i].isupper() ==True : ans+=s[i].lower() else: ans+=s[i].upper() print(ans) Colored by Color Scripter cs 내장함수에 대문자(Capital letter)인지 아닌지 판단하는 함수 isupper()을 이용하면 쉽게 풀 수 있습니다. 2021. 1. 7.
[백준] 2743 1 print(len(input())) cs 난이도가 브론즈2 인데 공감되진 않습니다. 2021. 1. 7.
[백준] 2712 1 2 3 4 5 6 7 8 import sys for i in range(int(sys.stdin.readline())): a,b=sys.stdin.readline().split() if b=='kg':print ("%.4f lb"%( float (a)*2.2046)) elif b == 'l': print("%.4f g" % (float(a) * 0.2642)) elif b == 'lb': print("%.4f kg" % (float(a) * 0.4536)) elif b == 'g': print("%.4f l" % (float(a) * 3.7854)) cs 2021. 1. 7.
[백준] 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.