티스토리 뷰
포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.
1000번과 1001번 문제는 사용자에게 한 줄로 A와 B를 입력받아 더한 값과 뺀 값을 출력해주는 프로그램이다.
필자는 파이썬을 사용하여 문제를 풀었다.
1000번과 1001번은 소스코드만 첨부한다.
1000번
A,B = input().split()
A = int(A)
B = int (B)
print(A+B)
________________________________________________________________________
1001번
A, B =input().split() A= int(A)
B= int(B) print(A-B)
_________________________________________________________________________
오랜만에 다시 파이썬을 사용하니 기초문법이 기억나지 않아 1000번 문제 제출만 10번 넘게 했다..
항상 코딩을 할 때 인터넷에서 즉각적으로 코딩한 탓이다.
앞으로는 기초 문법부터 익혀야겠다.
1002번 문제

문제를 읽고나니 gps 시스템이 먼저 생각났다.
간단하게 요약하면
몇 번 반복을 시행할 것인지 인자를 받고, 순서대로 x1 y1 r1 x2 y2 r2를 한꺼번에 입력받는다.
입력받은 좌표에서 규현이와 승환이의 각 재명이와의 거리를 계산하여 재명이가 존재할 수 있는 위치의 수를 출력하는 프로그램이다.
필자는 3가지로 나누어 문제를 풀었다.
1. 외접할 때
2. 좌표가 같을 때
3. 내접할 때
이유는 좌표가 같을 때는 거리가 모두 같으면 -1을 출력해주고 아니라면 겹칠수가 없기에 0을 출력시켜 주었다.
외접할 때는 거리의 값에서 합연산을 해야 하고, 내접할 때는 차연산을 해야 하여 두 가지로 나누었다.
1002번 소스코드
T = int(input())
arr = []
for i in range(T):
x1, y1, r1, x2, y2, r2 = map(int,input().split())
dis = (((x2-x1)**2)+((y2-y1)**2))**(1/2)
if x2==x1 and y2==y1 : #같은좌표
if(r2==r1):
arr.append(-1)
else:
arr.append(0)
elif(dis>=r2+r1): #외접
if(dis < abs(r1+r2)):
arr.append(2)
elif(dis == abs(r1+r2)):
arr.append(1)
elif(dis > abs(r1+r2)):
arr.append(0)
else: #내접
if(dis<abs(r1-r2)):
arr.append(0)
elif(dis == abs(r1-r2)):
arr.append(1)
elif(dis > abs(r1-r2)):
arr.append(2)
for i in arr:
print(i)
_________________________________________________________________________
느낀 점
1. 문제를 푼 후 다른 사람의 코드를 찾아보니 나보다 훨씬 효율적이게 코드를 사용했다. 나도 더 효율적인 코드를 만들어야겠다.
배운 점
1. 한 줄에 여러 변수를 입력하고 싶으면 a, b, c = map(타입, input().split())을 사용하면 된다. (split()은 공백을 기준으로 나눈다.)
시행착오
1. 분명히 맞았을 거라 생각했지만 문제가 풀리지 않아 발생할 수 있는 7가지의 경우의 수를 모두 입력해 보았다.
외접 중 1개의 위치가 존재하는 논리에 오류가 있었고, 해당 부분을 수정하여 문제를 해결할 수 있었다.
'백준' 카테고리의 다른 글
백준 2839번 문제풀이 [python] (0) | 2023.05.31 |
---|---|
백준 10430, 2440, 7287, 2441, 9498, 8393, 2558, 10172, 1924, 10817, 11718, 10871 문제풀이 [python] (0) | 2023.05.31 |
백준 2741, 2438, 10998, 2739 ,10718, 2742, 10869, 1008, 2439 문제풀이 [python] (0) | 2023.05.30 |
백준 2750번 문제 - 수 정렬하기 (0) | 2023.05.30 |
백준 2501번 문제 - 약수 구하기 (0) | 2023.05.30 |
- Total
- Today
- Yesterday
- java
- 김영한
- 프로그래머스
- 김영한 실전 자바 중급
- 코딩테스트
- 백준
- 상품을 구매한 회원 비율 구하기 파이썬
- webhacking.kr
- static
- extends
- lord of sql
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- 백준 피보나치
- 김영한 실전 자바 기초
- 백준 피보나치 수열
- 김영한 실전 자바 기본
- Los
- 상속
- 스프링
- spring
- los 15
- ys.k
- 기술스택
- 자바
- zixem
- los 15단계
- 프로그래머스 상품을 구매한 회원 비율 구하기
- 코딩테스트 준비
- samron
- samron3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |