백준84 [백준/Python] 10951번 A+B-4 문제 ■ 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 처음에는 제가 문제를 이해하지 못해서 블로그에서 풀이를 찾아보니 while문과 try, except를 활용하여 다들 코드를 작성하셨더라고요. 핵심은 무한히 두 수를 더하는 반복문 속에서 다른 입력이 입력되면 종료하는 알고리즘입니다. while True: try: a,b = map(int, input().split()) print(a+b) except: break 2) 위의 코드처럼 while문을 활용하면 정수 이외 다른 입력이 들어오면 error가 발생하여 except 문의 break가 활성화되며 반복문이 종료됩니다. 이 코드를 채점해보면 코드 길이는 105B, 시간은 48ms가 소요된 것을 알 수 있습니다. 3) 그런데 여기서 'sys.stdin.. 2023. 3. 16. [백준/Python] 2439번 별 찍기 -2 ■ 백준 2439 별 찍기 -2 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 줄의 개수 N을 입력 받습니다. 2) 줄의 개수 N개는 한 문장 내 글자 수와 동일합니다. 3) 첫 번째 줄에는 공백 4칸과 별 1개, 총 5개의 글자가 들어가야 합니다. 파이썬에서 str type 변수를 곱하면 곱한 수 만큼 반복됩니다. 따라서 공백은 반복 마다 N에서 별이 들어가야 할 글자 수 -(i+1) 만큼을 빼줍니다. 반대로 별은 반복 마다 i+1만큼 더해줍니다. (range(N)이면, i의 범위는 0부터 N-1이니까요.) N = int(input()) for i in range(N): print(' '*(N-1-i)+'*'*(i+1)) 2023. 3. 15. [백준/Python] 15552번 빠른 A+B 문제 ■ 15552번 빠른 A+B 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 파이썬에서 데이터 입력은 대부분 input()으로 알고 있지만, sys.stdin도 input()과 동일한 기능을 합니다. stdin은 standard input의 약자로, input() 대비 빠르고 메모리 효율적입니다. 따라서, 코딩 테스트에서는 input() 대신 stdin을 활용하여 소요되는 시간과 메모리를 절약할 수 있습니다. (실제로 대다수의 문제에서 input()을 사용하면 오답이지만, stdin()을 사용하면 정답인 경우가 많습니다.) 2) stdin을 활용하기 위해 sys 모듈을 import 해줍니다. 이후, input과 동일하게 T에 반복 횟수를 입력 받습니다. 3) 반복 횟수 T 동안 A,B에 두 정수를 .. 2023. 3. 15. 이전 1 ··· 24 25 26 27 28 다음