반응형

개발 연습장 223

[파이썬, Python] 백준 10951: A+B - 4

문제 https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 while True: try: a, b = map(int, input().split()) except: break print(a+b) 설명 문제를 딱 보았을 때, 무엇을 의미하는지 모를 수 있다. 오류를 처리하기 위한 문제인데, try와 except라는 함수를 사용하게 된다. try를 통해서 오류가 나지 않았을 때, 동작을 지정해주는 것은 일반적인 반복문과 동일하다. except를 통해서 오류가 생겼을 때(입력이 string일 경우 등) 예외 처리를 해주자.

[파이썬, Python] 백준 10952: A+B - 5

문제 https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 while True: a, b = map(int, input().split()) if a == 0 and b == 0: break else: print(a+b) 설명 while을 처음 사용했던 문제다. for 반복문과 비슷하지만 끝을 지정하지 않으면 무한 루프를 돌릴 수 있다는 특징을 가지고 있다. 입력이 0과 0으로 주어지지 않으면 무한히 반복을 해야하므로, True 일 동안 (무한히 동작) 입력을 받고, 0,0 이 입력으로 주어지면 break를 통해서 반복문을 탈출한다.

[파이썬, Python] 백준 2439: 별 찍기 - 2

문제 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 코드 N = int(input()) for i in range(1, N+1): print(" "*(N-i) + "*"*i) 설명 앞선 문제와 크게 차이는 없지만, 공백을 출력해주어야 한다. (N-i)의 수 만큼 공백을 출력해주었다.

[파이썬, Python] 백준 2438: 별 찍기 - 1

문제 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 코드 N = int(input()) for i in range(1, N+1): print("*" * i) 설명 모든 언어의 반복문을 연습하기 가장 적합한 별 찍기 연습 시간이다. 다른 언어의 경우 이중 반복문으로 작성하게 되는 경우가 많은데, 파이썬은 간단하게 한 줄의 반복문으로 작성이 가능하다. 우선 반복할 횟수인 N을 입력받고, 반복문을 실행해준다. 이 때, N의 횟수만큼 진행하려면 반복문의 종료지점은 N+1이어야 한다는 것을 명심하자. 별의 개수가 회차가 진행함에 따라 늘어나는데 이는 (출력..

[파이썬, Python] 백준 11022: A+B - 8

문제 https://www.acmicpc.net/problem/11022 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 코드 T = int(input()) for i in range(T): a, b = map(int, input().split()) print("Case #%s: %d + %d = %d"%(i+1, a, b, a+b)) 설명 앞의 문제를 해결했다면, 크게 어려움은 없었을 것 같다! 출력 형식에 유의해서 출력하도록 하자

[파이썬, Python] 백준 11021: A+B - 7

문제 https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 코드 T = int(input()) for i in range(T): a, b = map(int, input().split()) print("Case #%s: %d"%(i+1, a+b)) 설명 테스트 케이스 T를 입력받아 준다. 이후, T회 만큼 출력해야 하기에, 반복문을 통해 T회 만큼 반복시켜준다. 반복문 안에서 각각 a,b 를 입력받고 출력해주어야 하는데, 일반적으로 출력해오던 방식으로는 출력이 어렵다. 이를 위해서 다른 출력방식을 사용하여야 한다. 출력..

[파이썬, Python] 백준 15552: 빠른 A+B

문제 https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 코드 import sys T = int(sys.stdin.readline()) for i in range(T): a,b = map(int, sys.stdin.readline().split()) print(a+b) 설명 문제를 들어가보면 설명이 굉장히 길게 되어있다. 간단하게 요약을 하자면, input을 사용하는 것 대신, 'sys.stdin.readline'을 사용하면 입력 속도가 훨씬 빠르다는 것이다. 실제..

[파이썬, Python] 백준 25304: 영수증

문제 https://www.acmicpc.net/problem/25304 25304번: 영수증 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것 www.acmicpc.net 코드 X = int(input()) N = int(input()) sum = 0 for i in range(N): a, b = map(int, input().split()) sum += a*b if sum == X: print("Yes") else: print("No") 설명 물건의 가격을 입력받고, 총합이 맞는지 비교하는 문제이다. 우선 x,n을 각각 입력받고, sum을 통해 합을 입력받을 변수를 ..

[파이썬, Python] 백준 8393: 합

문제 https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 n = int(input()) sum = 0 for i in range(1, n+1): sum += i print(sum) 설명 입력한 n까지의 합을 구하는 문제이다. n을 입력받아주고, sum이라는 변수를 통해 합을 받아준다. 반복문의 변수를 range(n+1)으로 해도 무방하겠지만, 0을 더해주는 과정을 제외하기 위해서 1부터 시작하는 것으로 했다. 반복문에 보면 '+=' 이라는 기호가 있는데, 이는 'sum = sum+i' 와 같다고 보면 된다. 기존의 변수에 뒤의 수를 더해준다는 의미이다.

[파이썬, Python] 백준 10590: A+B - 3

문제 https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 T = int(input()) for i in range(T): a, b = map(int, input().split()) print(a + b) 설명 앞서 반복문을 이해했다면 크게 어려움은 없는 문제이다. 다른 점이 있다면 반복문의 횟수를 변수를 통해 지정해 주었다는 것인데, (1,10) 과 같이 시작 지점이 따로 정해져 있지 않다면, 위의 코드와 같은 형식에선 T의 수만큼 반복하게 된다. T의 수만큼 a,b를 입력받고 각 수를 더한 값을 출력하면 되는 간단한 문제였다.

반응형