while문 썸네일형 리스트형 [백준/Python] - 반복문 15552번 / 빠른 A+B 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다. 또한 입력과 출력 스트림은 별개이므로, 테스트케이스를 전부 입력받아서 저장한 뒤 전부 출력할 필요는 없다. 테스트케이스를 하나 받은 뒤 하나 출력해도 된다. 자세한 설명 및 다른 언어의 경우는 이 글에 설명되어 있다. 이 블로그 글에서 BOJ의 기타 여러 가지 팁을 볼 수 있다. 입력 첫 줄에 테스트케이스의 개수 T가 주.. 더보기 [백준/Python] - 반복문 11021번 / A+B - 7 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. Python 코드 cnt = int(input()) for i in range(1, cnt+1): a, b = map(int, input().split()) print(f'Case #{i}: {a+b}') 풀이 cnt 변수에 테스트 케이스의 수를 입력받아 저장한다. for 반복문을 이용하여 1부터 cnt+1까지 반복하며 a, b 변수의 값을 입력.. 더보기 [백준/Python] - 반복문 11022번 / A+B - 8 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. Python 코드 cnt = int(input()) for i in range(1, cnt+1): a, b = map(int, input().split()) print(f'Case #{i}: {a} + {b} = {a+b}') 풀이 cnt 변수에 테스트 케이스의 수를 입력받아 저장한다. for 반복문을 이용하여 1부터 c.. 더보기 [백준/Python] - 반복문 2438번 / 별 찍기 - 1 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. Python 코드 cnt = int(input()) for i in range(1, cnt+1): print("*"*i) 풀이 cnt 변수에 출력할 줄의 개수를 저장한다. for 반복문을 범위 1부터 cnt+1까지도 정해주고 print( *(별) x i ) 를 통해 별의 개수를 for 문의 값 만큼 지정해준다. 더보기 [백준/Python] - 반복문 2439번 / 별 찍기 - 2 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. Python 코드 cnt = int(input()) for i in range(1, cnt+1): print(" "*(cnt-i), end="") print("*"*i) 풀이 cnt 변수에 몇 번째 줄까지 별을 출력할지를 결정할 값을 저장해준다. 별 개수가 1개부터 시작하므로 for 반복문을 이용할 때 반복 범위를 1부터 cnt+1까지로 정해준다. 첫 번째 print문을 통해 스페이스 공백을 만들어주고, 두 번째 print문을 통해 별(*)을 .. 더보기 [백준/Python] - 반복문 10952번 / A+B - 5 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 출력 각 테스트 케이스마다 A+B를 출력한다. Python 코드 while True: a, b = map(int, input().split()) if a == 0 and b == 0: break print(a+b) 풀이 while문에 조건을 True로 주어 무한 루프하게 만든다. a, b 각 변수에 두 입력값을 넣어주고 if 조건문을 통해 a 와 b 둘 모두 0 일 경우 while문을 탈출한다. 유효한 값이 입력되었을 경우 .. 더보기 [백준/Python] - 반복문 10951번 / A+B - 4 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. Python 코드 while True: try: a, b = map(int, input().split()) print(a+b) except: break 풀이 숫자를 반복해서 넣어주기 위해 while문을 이용했다. 정상적인 값이 입력될 경우 (숫자) try를 통해 합한 값을 출력해 주고 오류가 발생하거나 그 외의 값이 입력될 경우 except: break를 통해 while문을 빠져나오며 종료된다. 더보기 이전 1 다음