반응형

백준 215

[파이썬, Python] 백준 10807: 개수 세기

문제 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 코드 n = int(input()) num_list = list(map(int, input().split())) v = int(input()) cnt = 0 for i in num_list: if i == v: cnt += 1 print(cnt) 설명 정수의 개수 n 을 입력 받아 준다. num_list라는 변수에 리스트의 값을 입력 받아 준다. v를 통해 찾아야 할 정수를 입력..

[파이썬, Python] 백준 1110: 더하기 사이클

문제 https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 코드 N = int(input()) num = N cnt = 0 while True: a = num //10 b = num % 10 c = (a+b)%10 num = b*10 + c cnt += 1 if(num==N): break print(cnt) 설명 10의 자리 수와 1의 자리 수를 합쳐서 새로운 수를 만들어 원래의 수로 돌아오는 사이클을 만들면 되는 문제이다. 우선 숫자..

[파이썬, 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을 통해 합을 입력받을 변수를 ..

반응형