BOJ
-
백준 파이썬 11721 열 개씩 끊어 출력하기BOJ 2020. 3. 18. 03:41
내 풀이(굉장히 안좋고 긴 풀이) 1 2 3 4 5 l = list(map(str,input())) n = len(l) // 10 for i in range(0, n+1): print(*l[10*i:10*(i+1)],sep="") cs 문제를 읽고 효율적으로 짤 생각을 안하고, 그냥 문제에 있는 그대로를 코딩에 적은 그런 풀이다. "생각"을 해서 더 짧고 간결하게 효율적으로 표현하려는 노력을 해야한다. 의식적으로라도.. 그렇게 안하면 실력이 늘지 않는다. 다양한 도구를 써서 간결하게 줄이려고 노력해보자. 고인물식 풀이 1 2 s=input() while s:print(s[:10]);s=s[10:] cs while 문과 슬라이싱이라는 도구를 통해서 이렇게 간결하게 줄일 수 있다.. input()은 문자열이..
-
백준 파이썬 10869 사칙연산 - eval함수 써서 풀어보기BOJ 2020. 3. 18. 02:28
eval 함수써서 풀어보기 1 2 3 4 5 a, b = map(int,input().split()) data = ['+','-','*','//','%'] for i in data: c = ('a %s b' %(i)) print(eval(c)) cs ' 연산 ' 으로 쓰는 방식. 문장안에 str성분이 들어가있어도 그냥 때려박으면 된다는 매우 편한 장점을 가지고 있다. eval함수는 문자열로 표현된 파이썬 식을 인수로 받는다. eval함수와 exec함수는 그냥 사기인듯..... 고인물들이 자주쓰는 이유가 있었다. 되도록이면 쓰는 것을 지양하자. 실력향상이 더디게 된다.
-
백준 파이썬 2577 숫자의 개수BOJ 2020. 3. 18. 02:10
내 풀이 1 2 3 4 5 6 7 a = int(input()) b = int(input()) c = int(input()) d = list(str(a*b*c)) for i in range(10): e = d.count('%d' %i) print(e) cs 이 문제에서 배운 건, 특정한 숫자나 문자가 몇개씩 포함되어있는지 체크하는 방법이다. 예를들어 214897148794987 이런 숫자에서 8의 개수가 몇개 있느냐 하는 거라든지, izjoijsadnkqwmzoxjhi 이런 문자열에서 i의 개수가 몇개 있는가를 물어보는 것 등. 숫자는 str으로 바꿔서 배열을 만들어주고, 그 list.count()를 쓰면 된다.
-
백준 파이썬 10818 최소, 최대BOJ 2020. 3. 17. 22:21
내 풀이 1 2 3 4 5 n = int(input()) A = [0 for i in range(n)] A = list(map(int,input().split())) print(min(A), max(A)) Colored by Color Scripter cs 가로로 입력해야할 때, a,b,c,d,e=list(map(int,input().split())) 이렇게 하기 싫고, 실력도 안 늘 것이며 분명히 편한 방법이 존재할 거라고 생각했기 때문에, 고민하고 찾아다녔다. 고민한 결과, 가로로 많은 수를 입력해야 하는 경우에는 변수를 하나하나 다 선언하기 보다는 입력 개수와 같은 크기의 배열(전부 0넣은 배열)을 선언해주고 다시 입력해주면 된다는 걸 깨달았다. 그리고 map(int,input().split()))..
-
백준 파이썬 10950 A+B - 3BOJ 2020. 3. 17. 03:03
내 풀이 1 2 3 4 for i in range(int(input())): list_i = list(map(int,input().split())) print(sum(list_i)) Colored by Color Scripter cs for i in range(int(input())) 이렇게 바로 range안에 input넣어버리고 list만든다음 sum함수써서 풀었다. 깔끔! 고인물식 풀이(숏코딩) for i in range(int(input())):print(sum(map(int,input().split()))) 한줄로 끝내버리는 (...) 나랑 원리가 같긴한데 한줄로 끝낼 생각은 못했다... 근데 map(int,input(),split()) 이거 자체도 배열인건가? 그렇게보이네. 고인물식 풀이2 ex..