Uknow's Lab.
article thumbnail
[백준 1002번] [Python] 터렛
코딩테스트/Python 2023. 7. 24. 01:55

https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 $-1$ 출력한다. www.acmicpc.net 난이도 : 실버 3 태그 : 수학, 기하학, 많은 조건 분기 설명 x1, y1과 반지롬 x2, y2와 반지름이 주어졌을 때, 위치의 개수를 출력하는 문제입니다. 즉, 외접하거나 내접하는 경우를 찾으면 되겠네요. 위치의 개수가 무한대일 경우 두 원이 일치할 경우, 적이 있을 수 위치는 무한대입니다. 위치의 개수가 0개일 경우 터렛의 두 사람의 위치가 같으나, 반지름이 다를 때, 두 원은 서로 교차하지 않습니다. 따라서 적이 있을 수 있는 위치의 경우..

article thumbnail
[백준 11022번] [Python] A + B - 8
코딩테스트/Python 2023. 4. 17. 18:27

https://www.acmicpc.net/problem/11022 11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 구현, 사칙연산 설명 이번엔 결과 뿐만 아니라 식도 같이 쓰는 문제입니다. 소스코드 num = int(input()) for i in range(num): a,b = map(int, input().split()) print('Case #{0}: {1} + {2} = {3}'.format(i+1,a,b,a+b)) 파이썬의 문자열 포맷팅을 사용하면 쉽게 구현할 수 있습니다.

article thumbnail
[백준 10952번] [Python] A + B - 5
코딩테스트/Python 2023. 4. 17. 18:18

https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 구현, 사칙연산 설명 A + B - 4와 다른 점은 마지막으로 입력이 0 0 으로 주어진다는 점 입니다. 소스코드 while(True): a,b = map(int, input().split()) if a == 0 and b == 0: break; print(a+b) 그냥 계속 반복을 돌리다가, a, b가 0 0 으로 들어오면 반복문을 탈출합니다.

article thumbnail
[백준 10951번] [Python] A+B - 4
코딩테스트/Python 2023. 4. 17. 18:15

https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 구현, 사칙연산 설명 A B 시리즈는 새 언어를 공부할 때 마다 한 번씩 풀어본 거 같은데, 벌써 C++, Java, Python까지 세 종류의 언어로 포스팅했네요. 소스코드 import sys while(True): str = sys.stdin.readline().rstrip() if str == '': break; a,b = map(int,str.split()) print(a+b) 이번엔 테스트케이스의 개수가 주어지지 않습니다. 때문에 파이썬의 sys.stdin.r..

article thumbnail
[백준 8958번] [Python] OX퀴즈
코딩테스트/Python 2023. 4. 17. 17:05

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 난이도 : 브론즈 2 태그 : 구현, 문자열 설명 문제의 점수는 그 전까지 맞은 문제의 개수입니다. 따라서 문제가 맞을 때 마다 연속으로 몇 개의 문제를 맞췄는지 카운팅할 변수 하나를 두고, 맞을 때마다 +1, 틀릴 때 마다 0으로 초기화하면 될 것 같습니다. 소스코드 num = int(input()) for i in range(num): st = list(input()) sc..

article thumbnail
[백준 2581번] [Python] 소수
코딩테스트/Python 2023. 3. 30. 23:39

https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 난이도 : 실버 5 태그 : 수학, 정수론, 소수 판정 설명 소수는 자기 자신과 1로만 나뉘는 수 입니다. 따라서 2 부터 자기 자신까지 나뉘눈 수가 있는지 판단하면 됩니다. 소스코드 a = int(input()) b = int(input()) lst = list() for i in range(a, b+1): lst.append(i) for i in range(len(lst)): check = False n..

article thumbnail
[백준 11720번] [Python] 숫자의 합
코딩테스트/Python 2023. 3. 30. 23:33

https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 난이도 : 브론즈 4 태그 : 수학, 구현, 문자열 설명 C나 Java에서 구현하려면 조금 번거롭지만, 파이썬은 매우 큰 수도 간편하게 다룰 수 있어 파이썬에서는 꽤나 간단하게 풀리는 문제입니다. 소스코드 int(input()) num = list(map(int,input())) print(sum(num))

article thumbnail
[백준 3052번] [Python] 나머지
코딩테스트/Python 2023. 2. 13. 23:37

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 사칙연산 설명 10개의 정수를 입력받고, 이를 42로 나눈 나머지의 서로 다른 정수의 개수를 출력하는 문제입니다. 소스코드 a = [] for i in range(10): num = int(input())%42 if num not in a: a.append(num) print(len(a)) 저는 리스트에 없는 값이라면 리스트에 append 하는 형식으로 구현하였습니다. 집합을 사용해도 좋을 것 같네요. 후기 3년전, 파이썬을 처음..

article thumbnail
[백준 11721번] [Python] 열 개씩 끊어 출력하기
코딩테스트/Python 2023. 2. 7. 20:45

https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 난이도 : 브론즈 3 태그 : 구현, 문자열 설명 문자열을 입력받고 열 개씩 끊어 출력하는 문제입니다. 소스코드 a = input() cnt = 0 for k in a: print(k,end="") cnt = cnt + 1 if cnt % 10 == 0 : print() 단순히 하나씩 출력하면서, 문자를 몇 개나 출력했는지 카운트하면서 카운트 개수가 10으로 나누어 떨어지면 줄바꿈(print())를 해주었습니다.

article thumbnail
[백준 18108번] [Python] 1998년인 내가 태국에서는 2541년생?!
코딩테스트/Python 2023. 2. 5. 16:02

https://www.acmicpc.net/problem/18108 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 사칙연산 설명 불기년도를 서기년도로 바꾸는 문제입니다. 그냥 불기년도기 주어질때 -543를 하면 됩니다. 소스코드 a = int(input()) print(a-543)