-
백준 파이썬 11721 열 개씩 끊어 출력하기BOJ 2020. 3. 18. 03:41
내 풀이(굉장히 안좋고 긴 풀이)
12345l = list(map(str,input()))n = len(l) // 10for i in range(0, n+1):print(*l[10*i:10*(i+1)],sep="")cs 문제를 읽고 효율적으로 짤 생각을 안하고, 그냥 문제에 있는 그대로를 코딩에 적은 그런 풀이다.
"생각"을 해서 더 짧고 간결하게 효율적으로 표현하려는 노력을 해야한다. 의식적으로라도.. 그렇게 안하면 실력이 늘지 않는다. 다양한 도구를 써서 간결하게 줄이려고 노력해보자.
고인물식 풀이12s=input()while s:print(s[:10]);s=s[10:]cs while 문과 슬라이싱이라는 도구를 통해서 이렇게 간결하게 줄일 수 있다..input()은 문자열이 기본형이라서 저렇게 간결하게 받아도 되고,슬라이싱이라는 생각을 못했다...하.. 이거 답이 아니었네.. while문을 못빠져나가서 무한루프다..
좋은 풀이
12345a = input()for i in range(0,len(a),10):print(a[i:i+10])cs 문자열 입력받고 i에 0, 10, 20, 30... 등차수열로 대입해나갈 생각으로 range(0,len,공차) 이용
슬라이싱.
'BOJ' 카테고리의 다른 글
백준 파이썬 2908 상수(slicing 적용) (0) 2020.03.20 백준 파이썬 10809 알파벳 찾기 (0) 2020.03.18 백준 파이썬 10869 사칙연산 - eval함수 써서 풀어보기 (0) 2020.03.18 백준 파이썬 2577 숫자의 개수 (0) 2020.03.18 백준 파이썬 2747 피보나치 수 (0) 2020.03.17