분류 전체보기165 [백준/Python] 10812번 바구니 순서 바꾸기 ■ 10812번 바구니 순서 바꾸기 ■ 코드 풀이 두 가지 방법으로 풀어보겠습니다. 먼저 아래는 제가 처음에 작성한 코드입니다. 첫 번째 바구니일 때와 아닐 때를 if문을 활용하여 구분했습니다. 그런데 코드를 어찌 저찌 다 작성하고 제출했더니, 너무 지저분하고 비효율적이라는 생각이 들었습니다. 분명 다른 고수들의 코드가 있겠다 싶었습니다. 그래서 찾아보니 아래와 같은 코드가 있더군요. import sys N,M = map(int, sys.stdin.readline().split()) basket = [i for i in range(1,N+1)] for n in range(M): i,j,k = map(int, sys.stdin.readline().split()) if (i-1) == 0: temp = ba.. 2023. 3. 25. [백준/Python] 2444번 별 찍기-7 문제 ■ 2444번 별 찍기-7 문제 ■ 코드 풀이 구현 방법은 여러 가지가 있지만, 파이썬으로 푸는 경우라면 range() 함수에서 역순으로 출력하는 방법을 아는지가 이 문제의 핵심인 것 같습니다. 이것만 알아도 아래와 같이 코드가 굉장히 단순해지니까요. range(시작값, 끝값,-1)을 하면 시작값부터 끝값까지 역순으로 출력하라는 의미입니다. 물론 역순으로 출력할 경우에는 시작값이 끝값보다 커야 합니다. N = int(input()) for i in range(1,N): print(' '*(N-i)+'*'*(2*i-1)) for i in range(N,0,-1): print(' '*(N-i)+'*'*(2*i-1)) 2023. 3. 24. [백준/Python] 11718번 그대로 출력하기 문제 ㅁ ㅁ 코드 풀이 두 가지 방법으로 풀어보겠습니다. 먼저 첫 번째 방법은 try, except 구문을 활용한 방법입니다. 제가 문제를 처음 봤을 때 '입력을 몇 번 받는지 제시하지 않았으니, break 조건이 핵심이겠구나' 라는 생각이 들었고, 이를 코드로 구현하기에 try, except가 딱이다 라는 생각을 했습니다. 아래의 코드는 "몇 번인지 모르겠지만 일단 계속 입력 받은 것을 출력하고(try) 입력이 종료되면 반복문을 break 해라" 라는 뜻입니다. 코드 길이는 90B이고 소요 시간은 72ms 입니다. while True: try: print(input()) except EOFError: break 두 번째 방법은 sys.stdin의 readlines()를 활용한 방법입니다. readlines는.. 2023. 3. 24. 이전 1 ··· 40 41 42 43 44 45 46 ··· 55 다음