백준/파이썬(39)
-
[ 백준 문제 10951 / 파이썬 ] A+B - 4 : EOF 관련 문제
10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 문제 보고 무한으로 입력받는 반복문 문제인가? 싶었습니다. import sys input = sys.stdin.readline while True: A, B = map(int, input().split()) print(A+B) 이렇게 써줬고 무한루프로 입력을 받아줬어요. 답을 제출하니, 런 타임 에러가 났습니다. 입력 조건에서 어디까지가 입력의 끝인지 명확하게 제시되지 않았습니다.(mastershim님) 그 점에서 예외처리가 필요한 문제라는 것을 알 수 있습니다. 우리가 어떤 상황에서 실패할 수 ..
2023.02.07 -
[ 백준 문제 10952 / 파이썬 ] A+B - 5
10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. for문을 써주려던 참에 in 뒤에 뭘 써줘야할지 도무지 모르겠더라고요. 반복횟수를 모르고 반복을 하기위한 조건만 알고 있기 때문입니다. while이 떠올랐습니다. 여기서 알고 갑시다! for문과 while문의 차이점 더보기 for문은 주로 반복횟수가 정해진 경우 사용하기 적합합니다. while문은 특정 조건을 만족하면 수행을 반복하는 구문입니다. 나의 정답 : import sys input = sys.stdin.readline while True: A, B = map(int, input().sp..
2023.02.06 -
[ 백준 문제 2439 / 파이썬 ] 별 찍기 - 2
2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. * ** *** **** ***** 이렇게 출력하는 문제입니다. 나의 정답 : STAR = int(input()) for i in range(1, STAR+1): # 줄을 생성 for j in range(STAR-i): # 공백 생성 print(" ", end = '') for k in range(i): # 별을 생성 print("*", end = '') pr..
2023.02.05 -
[ 백준 문제 2438 / 파이썬 ] 별 찍기 - 1
2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 * ** *** **** ***** 이 모양 만들라는 겁니다! STAR = int(input()) for i in range(1, STAR+1): # 줄을 생성 for j in range(i): # 별을 생성 print("*") print() 5 * * * * * * * * * * * * * * * 처음에 이렇게 해줬습니다. 잘못 출력 됩니다.. 파이썬에서는 print() 자체에 줄바꿈 기능이 있습니다. 이는 print 메서드에 있는 end 인수의 기본 값이 \n이기 때문입니다! 그렇기..
2023.02.05 -
[ 백준 문제 11021 / 파이썬 ] A+B - 7
11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 나의 정답: import sys input = sys.stdin.readline T = int(input()) for i in range(1, T+1): A, B = map(int, input().split()) print(f'Case #{i}: {A+B}') 빠른 for문 동작을 돕는 sys.stdin.readline()을 이용했습니다.
2023.02.05 -
[ 백준 문제 15552 / 파이썬 ] 빠른 A+B
15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다. 또한 입력과 출력 스트림은 별개이므로, 테스트케이스를 전부 입력받아서 저장한 뒤 전부 출력할 필요는 ..
2023.02.05