전체 글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. [백준/Python] 5622번 다이얼 문제 ■ 5622번 다이얼 문제 ■ 코드 풀이 다이얼 문제를 3가지 풀이법으로 풀어보겠습니다. 먼저, if문을 활용한 직관적인 풀이법입니다. 문자열을 S에 입력 받고, S를 알파벳 하나씩 for loop를 통해 받으면서 해당 단어가 몇 초가 걸리는지 합산하는 코드입니다. 소요 시간은 40ms이고 코드 길이는 433B입니다. 아래 코드를 list를 활용하여 바꿔보겠습니다. S = input() time = 0 for s in S: if s in "ABC": time += 3 elif s in "DEF": time += 4 elif s in "GHI": time += 5 elif s in "JKL": time += 6 elif s in "MNO": time += 7 elif s in "PQRS": time += .. 2023. 3. 23. [백준/Python] 2908번 상수 문제 ■ 2908번 상수 문제 ■ 코드 풀이 문자열을 입력 받아서 끝 문자부터 첫 문자까지 역순으로 slicing한 후, int로 바꾸어 대소 관계를 비교하면 쉽게 풀 수 있습니다. A,B = input().split() A, B = A[-1::-1], B[-1::-1] print(max(int(A), int(B))) 위와는 별도로 아래처럼 reversed와 join 함수를 사용하여 문자열을 역순으로 뒤집을 수도 있다고 합니다. 상세 내용은 제가 참고 했던 링크 참고해주세요. print(''.join(reversed("12345"))) https://itholic.github.io/python-reverse-string/ [python] 문자열 거꾸로 출력하기 [::-1] 문자열 거꾸로 출력하기 itholic.. 2023. 3. 23. [백준/Python] 2675번 문자열 반복 문제 ■ 2675번 문자열 반복 문제 ■ 코드 풀이 전체적으로 어려운 코드는 아니었는데요. 줄 바꿈을 할 때, print()와 print('\n')의 차이를 모르고 제출해서 틀린 문제였습니다. print()는 한 줄을 내려주고, print('\n')은 두 줄을 내려주네요. N = int(input()) for j in range(N): i, S = input().split() for k in S: print(k*int(i),end="") print() 2023. 3. 22. 이전 1 ··· 19 20 21 22 23 24 25 ··· 28 다음