한 걸음씩
[백준][python] 3009 네 번째 점 본문
https://www.acmicpc.net/problem/3009
3009번: 네 번째 점
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
www.acmicpc.net
풀이 과정_1
1. 입력한 세 점을 왼쪽 값을 X, 오른쪽 값을 Y로 append 해주고
2. 출력할 변수를 x4, y4를 생성한 다음 for loop을 통해서 count함수를 사용해 x4, y4변수에 넣어준 후 출력한다
X = []
Y = []
for i in range(3):
x, y = map(int, input().split())
X.append(x)
Y.append(y)
x4 = 0
y4 = 0
for i in range(3):
if X.count(X[i]) == 1:
x4 = X[i]
if Y.count(Y[i]) == 1:
y4 = Y[i]
print(x4, y4)
풀이 과정_2
1. a, b 값 공백으로 구분하여 입력받고 A, B리스트에 append
2. statistics 모듈 사용해서 최빈값 구한 다음 새 변수에 저장
3. A, B 각각 for문 돌려서 최빈값이면 pass 아니라면 출력!
import statistics
A = []
B = []
for _ in range(3):
a, b = map(int, input().split())
A.append(a)
B.append(b)
A_most = statistics.mode(A)
B_most = statistics.mode(B)
for n in A:
if n == A_most:
pass
else:
print(n, end=" ")
for n in B:
if n == B_most:
pass
else:
print(n)
리뷰
첫 번째 시도 : X, Y리스트 생성하는 것까지는 했는데 그 리스트에서 가장 적은 수를 어떻게 빼내야 할지 생각하지 못함
for문을 3번 돌려서 리스트 속 각 요소들의 개수를 세어서 그 개수가 1이라면 새로 생성한 변수에 입력하고
출력하면 됨!
두 번째 시도 : 다시 풀어봤는데 첫 번째 시도했던 방법과는 다른 방법으로 풀었다 (처음에 어떻게 풀었는지 기억 안 남)
통계 모듈 사용해서도 풀 수 있다는 걸 알았다
'BOJ' 카테고리의 다른 글
[백준][python] 10818 최소, 최대 (0) | 2023.01.23 |
---|---|
[백준][python] 9085 더하기 (0) | 2023.01.23 |
[백준][python] 2563 최댓값 (0) | 2023.01.23 |
[백준][python] 10039 평균 점수 (0) | 2023.01.23 |
[백준][python] 2480 주사위 세개 (0) | 2023.01.23 |