전체 글
-
백준 파이썬 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()))..
-
백준 파이썬 10952 A+B - 5카테고리 없음 2020. 3. 17. 19:47
내 풀이 1 2 3 4 5 6 while True: a,b = map(int,input().split()) if not (a==0 and b==0): print(a+b) else: break cs if not이 되는거 처음 알았다. 되게 유용할 듯 싶은데 딱 한가지 케이스만 제거하고 싶을 떄 if not 쓰면 개꿀일듯. 다른 풀이 1 2 3 4 while 1: a,b = map(int,input().split()) if (a+b) == 0: break print(a+b) cs 그냥 내 풀이에서 if랑 else 순서만 바꾼거긴한데, 난 아직 이 쪽 표현법에는 익숙하지 못하다. 일단 True를 1로 간편하게 표현이 가능하다는 점, 그리고 if ( ): break
-
백준 파이썬 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..