반응형

알고리즘 142

[파이썬, 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] 백준 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를 입력받고 각 수를 더한 값을 출력하면 되는 간단한 문제였다.

[파이썬, Python] 백준 2739: 구구단

문제 https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 코드 inputNum = int(input()) for i in range(1, 10): print(inputNum, "*",i, "=", inputNum * i) 설명 반복문이 처음으로 나왔다. 우선 입력할 단의 수를 N으로 받아준다. 이후 반복할 부분을 정해주면 되는데, 출력하는 문장을 보면 (N * (1~9) = 정답)의 형식으로 되어있다. 반복문을 구현하기 위해서는 for와 in 이라는 문법을 알아야 한다. for는 반복문의 조건부분을 알려주는 문장이다. for 뒤에 조건문을 통..

반응형